Projet de distribution GNU/Linux
Auteurs: Martial Daumas
Date: 2003-12-01
Modif:
Installation de tables de départ, lancement du service et gestion minimum des comptes.
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.
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 &
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.
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
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.