SGBD relationnel

MySQL

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).

Réinitialiser un mdp MySQL

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.