<-
Nasgaïa > Forums > Documentation > Doc HTML

Mise en place de MySQL

Auteurs: Martial Daumas

Date: 2003-12-01

Modif:

Installation de tables de départ, lancement du service et gestion minimum des comptes.

Voir aussi

top

Installation des tables de départ

Tout le reste du document suppose que vous êtes root. Pour créer les tables dont à besoin MySQL exécutez:

mysql_install_db
chown -R mysql:mysql /var/lib/mysql

Ceci va créer deux bases: mysql (/var/lib/mysql/mysql) qui contient les tables d'utilisateurs, de droits etc. et une base test, qui comme sont non l'indique permet de se faire la main sans danger.

top

Lancer le service

chmod +x /etc/init.d/runlevel.3/mysql
telinit mysql start

Si vous voulez juste configurer MySQL sans le lancer à chaque boot, à la place faite juste:

/usr/bin/mysqld_safe &

top

Compte root

A ce stade, n'importe qui peut se connecter en tant qu'utilisateur MySQL root (n'a aucun rapport direct avec le compte unix root) - et donc faire absolument tout ce qu'il veut. Pour y remédier, une fois MySQL lancé comme décris plus haut, faites ceci:

mysql -u root mysql

SET PASSWORD FOR root@localhost=PASSWORD('new_password');
FLUSH PRIVILEGES;
quit;

Pressez simplement la touche Entrée au prompt Enter password: - car il n'y pas de mot-de-passe pour root à ce moment là.

Vous pouvez alors essayer de vous reconnecter de la même manière, ca ne marchera plus (ouf !) - le seul moyen de se connecter est désormais:

mysql -p -u root mysql

et de donner le mot-de-passe lorsque le prompt le demande.

top

Création d'une base de données

Vous voulez certainement créer diverses bases de donnés, par exemple pour servir avec Apache/PHP. Voici comment procéder dans les grandes lignes.

mysql -p -u root mysql
CREATE DATABASE mdb
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON mdb.*
TO martial@localhost
IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit;

Ceci créer un base de donnée du nom de mdb, dont toute les tables (mdb.*) ont les permissions spécifiées par GRANT à l'utilisteur martial@localhost, ce qui implique qu'il ne pourra se connecter que depuis localhost (idéal pour des essais ou un serveur local).

L'utilisateur martial peut dès lors se connecter comme ceci:

mysql -p
# ou
mysql -p localhost mdb

top

Approndire le sujet

Le nba de MySQL installe une foule d'informations utiles dans /usr/share/doc/mysql-4.0.14, notamment le guide en englais: /usr/share/doc/mysql-4.0.14/html/index.html.

Je recommende vivement la lecture de la traduction suivante en francais (mise en page soignée et moteur de recherche): http://dev.nexen.net/docs/mysql/index.php.