29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
29-01-2012 : Parce que nous sommes un peuple debout, agissons pour rester dignes et responsables !
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / Système / Debian / MySQL : installer un serveur





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox

MySQL : installer un serveur

Date de publication: le mardi 3 juillet 2007 à 10h29
Dernière modification: par Pascal BOYER le mardi 28 décembre 2010 à 13h32
« Article précédent: nvidia : compiler et installer le driver nvidia
» Article suivant: JRE / J2RE : installer Java Runtime Environment

Mysql : documentation / manuel

Sur le site officiel de MySQL propose une documentation très complète, en plusieurs langues et dans différents formats, des différents produits: serveur, interface graphique d'administration, etc...: documentation en ligne .

MySQL : installer le serveur

Voici la liste des packages à installer pour la mise en oeuvre d'un serveur de bases de données MySQL dans sa version 5.0.32 sous Debian etch (debian stable numéro 4 sortie le 8 avril 2007).

Liste minimale des packages à installer:

  •  libdbd-mysql-perl
  •  libmysqlclient15off
  •  mysql-client-5.0
  •  mysql-server-5.0
  •  psmisc
  •  mysql-common

La commande suivante:

apt-get install mysql-server-5.0

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Les paquets supplémentaires suivants seront installés :
  libdbd-mysql-perl libmysqlclient15off mysql-client-5.0 mysql-common
Paquets suggérés :
  tinyca
Les NOUVEAUX paquets suivants seront installés :
  libdbd-mysql-perl libmysqlclient15off mysql-client-5.0 mysql-common
  mysql-server-5.0
0 mis à jour, 5 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 0o/34,4Mo dans les archives.
Après dépaquetage, 89,6Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ?

...est suffisante pour installer tous les packages de la liste ci-dessus.

A la fin de l'installation on contrôle ce qui est installé:

dpkg -l |grep mysql

ii  libdbd-mysql-perl          3.0008-1               A Perl5 database interface to the MySQL data
ii  libmysqlclient15off        5.0.32-7etch1         mysql database client library
ii  mysql-client-5.0           5.0.32-7etch1         mysql database client binaries
ii  mysql-common               5.0.32-7etch1         mysql database common files (e.g. /etc/mysql
ii  mysql-server-5.0           5.0.32-7etch1         mysql database server binaries

Vous pouvez également contrôler que le serveur MySQL tourne sur votre système:

ps aux |grep mysql

root      6079  0.0  0.1   3660  1292 pts/0    S    17:15   0:00 /bin/sh /usr/bin/mysqld_safe
mysql     6116  0.0  1.7 118480 17840 pts/0    Sl   17:15   0:00 /usr/sbin/mysqld --basedir=/usr
            --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking
            --port=3306 --socket=/var/run/mysqld/mysqld.sock
root      6117  0.0  0.0   2744   568 pts/0    S    17:15   0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld

Autre possibilité:

/etc/init.d/mysql status

/usr/bin/mysqladmin  Ver 8.41 Distrib 5.0.32, for pc-linux-gnu on i486
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
 
Server version          5.0.32-Debian_7etch1-log
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/run/mysqld/mysqld.sock
Uptime:                 4 sec
 
Threads: 1  Questions: 133  Slow queries: 0  Opens: 135  Flush tables: 1  Open tables: 17  Queries per second avg: 33.250.

MySQL : lancer/arrêter le serveur

L'installation du serveur MySQL créé automatiquement un script de démarrage pour le runlevel (niveau de démarrage du système) 2.
 Vous trouverez-donc, dans le répertoire:

/etc/rc2.d/

...le lien symbolique suivant:

ls -la /etc/rc2.d/*mysql

lrwxrwxrwx 1 root root 15 2007-07-03 17:15 /etc/rc2.d/S19mysql -> ../init.d/mysql

...pouvant prendre en argument les options suivantes:

start|stop|restart|reload|force-reload|status

Le serveur MySQL est donc automatiquement démarré avec le système.

Pour arrêter le serveur vous utiliserez l'une de ces deux commandes:

/etc/rc2.d/S19mysql stop

Stopping MySQL database server: mysqld.

ou

/etc/init.d/mysql stop

Stopping MySQL database server: mysqld.

Le redémarrage du serveur pourra se faire indépendamment avec l'une ou l'autre de ces deux commandes:

/etc/rc2.d/S19mysql start

Starting MySQL database server: mysqld.
 Checking for corrupt, not cleanly closed and upgrade needing tables..

ou

/etc/init.d/mysql start

Starting MySQL database server: mysqld.
 Checking for corrupt, not cleanly closed and upgrade needing tables..

MySQL : PHP

L'installation conjointe à MySQL de PHP est très fréquente et ne pose pas de problème particulier. L'installation des packages suivants devrait vous permettre de faire fonctionner à peu près tous les logiciels écrits en PHP et reposant sur l'exploitation d'une base de données mysql:

dpkg -l '*php*' |grep ^ii

ii  libapache-mod-php4  4.4.4-8+etch1  server-side, HTML-embedded scripting language (apache 1.3 module)
ii  php-auth            1.2.4-0.1      PHP PEAR modules for creating an authentication system
ii  php-db              1.7.6-2        PHP PEAR Database Abstraction Layer
ii  php-http            1.3.6-2        PHP PEAR module for HTTP related stuff
ii  php-mail            1.1.6-2        PHP PEAR module for sending email
ii  php-net-smtp        1.2.6-2        PHP PEAR module implementing SMTP protocol
ii  php-net-socket      1.0.6-2        PHP PEAR Network Socket Interface module
ii  php-xml-parser      1.2.6-2        PHP PEAR module for parsing XML
ii  php4                4.4.4-8+etch1  server-side, HTML-embedded scripting language (meta-package)
ii  php4-cli            4.4.4-8+etch1  command-line interpreter for the php4 scripting language
ii  php4-common         4.4.4-8+etch1  Common files for packages built from the php4 source
ii  php4-gd             4.4.4-8+etch1  GD module for php4
ii  php4-imagick        0.9.11+1-4.1   ImageMagick module for php4
ii  php4-imap           4.4.4-8+etch1  IMAP module for php4
ii  php4-mcal           4.4.4-8+etch1  MCAL calendar module for php4
ii  php4-mcrypt         4.4.4-8+etch1  MCrypt module for php4
ii  php4-mhash          4.4.4-8+etch1  MHASH module for php4
ii  php4-mysql          4.4.4-8+etch1  MySQL module for php4
ii  php4-pear           4.4.4-8+etch1  PHP Extension and Application Repository (transitional package)
ii  php4-xslt           4.4.4-8+etch1  XSLT module for php4
ii  php5-common         5.2.0-8+etch1  Common files for packages built from the php5 source

MySQL : définir le mot de passe root

L'installation du serveur MySQL à partir des packages debian créé par défaut deux bases de données, dont l'une, nommée mysql, qui contient les tables de droits.

Pour une information complète, référez-vous à cette page de la documentation officielle de MySQL: Procédure de post-installation

Sous Debian, la procédure d'installation crée:

  •  2 utilisateurs root:
     
    •  l'un lié à l'hôte localhost
    •  l'autre à l'hôte portant le nom de la machine
  •  1 utilisateur debian-sys-maint de maintenance du système

Fig. 1: Droits des utilisateurs créés par défaut (affichés avec phpMyAdmin)

Pour créer un mot de passe à chacun des deux utilisateur root, vous pouvez soit utiliser l'interface de l'outil d'administration phpMyAdmin soit utiliser les commandes SQL.

Comme il n'existe pas encore de mot de passe, il est très simple de se loguer au serveur MySQL:

msql

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 18
Server version: 5.0.32-Debian_7etch1-log Debian etch distribution
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql>

Affichez ensuite la liste des utilisateurs existants:

mysql> SELECT Host, User FROM mysql.user;

+------------+------------------+
| Host       | User             |
+------------+------------------+
| democratie | root             |
| localhost  | debian-sys-maint |
| localhost  | root             |
+------------+------------------+
3 rows in set (0.00 sec)

...puis définissez un mot de passe pour le premier utilisateur root:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('nouveau_mot_de_passe');

Query OK, 0 rows affected (0.00 sec)

Une fois le nouveau mot de passe défini, il est fort probable que votre connexion au serveur MySQL soit interrompue:

mysql> Aborted

:
Si vous souhaitez utiliser une apostrophe dans votre mot de passe, vous devez échapper/protéger le caractère avec l'anti-slash.
Par exemple: .SET PASSWORD FOR 'root'@'localhost' = PASSWORD('je n \'oublie jamais mon mot de passe');

A présent, pour définir le mot de passe du second utilisateur root, vous devez vous reconnecter, mais cette fois-ci, en vous identifiant:

mysql -u root -p

Enter password: <Saisir ici le mot de passe de root>
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 36
Server version: 5.0.32-Debian_7etch1-log Debian etch distribution
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql>

Employez la même commande que précédemment mais en modifiant le nom d'hôte:

mysql> SET PASSWORD FOR 'root'@'democratie' = PASSWORD('nouveau_mot_de_passe');

Query OK, 0 rows affected (0.00 sec)

Pour quitter la coonexion au serveur MySQL:

mysql> QUIT;

Bye

:
Vous devez utiliser les mêmes commandes SQL pour modifier, quand il vous plaira, un mot de passe.

Voici ce qu'affiche maintenant phpMyAdmin:

Fig. 2: phpMyAdmin indique clairement que les deux utilisateurs root ont effectivement un mot de passe

Commentaires