SGBD relationnel
MySQL est un système de gestion de base de données (SGBD) relationnelle très utilisé autant par le grand public que dans le milieu professionnel. Sa licence dépend de l'utilisation (GPL (donc libre) ou propriétaire).
Après une installation de MySQL, quand on démarre le service il faut noter ces 2 points :
<note>
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h mon_serveur password 'new-password'
</note>
<note>
Alternatively you can run: /usr/bin/mysql_secure_installation which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers.
</note>
Pour se connecter à la base MySQl en root, il faut passer la commande :
mysql -u root -p
-u
suivi d'un nom d'utilisateur et -p
pour préciser une authentification par mot de passe (si on ne le précise pas on se prend un méchant : “Access denied for user 'root'@'localhost' (using password: NO)
”).
Pour réinitialiser le mot de passe d'un utilisateur, par exemple root :
Stopper le daemon mysql
/etc/init.d/mysql stop Stopping MySQL database server: mysqld.
Démarrer le démon mysql avec l'option –skip-grant-tables
:
mysqld --skip-grant-tables &
Démarrer le client mysql avec l'option -u root
mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.51a-3-log (Debian) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
Exécuter les requêtes suivantes (remplacer <user> et <password> selon les besoins)
UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root'; FLUSH PRIVILEGES;
Redémarrer mysqld
en mode normal
/etc/init.d/mysql start Starting MySQL database server: mysqld.