Tutoriel étape par étape pour apprendre à récupérer le mot de passe root d'un serveur SQL.
L'utilisateur le plus important d'un serveur MySQL est certainement l'utilisateur "root". Cet utilisateur a tout privilèges administratifs des bases de données (MySQL databases).
Si vous ne savez plus quel est le mot de passe de l'utilisateur root MySQL, vous devrez suivre quelques étapes simples pour réinitialiser ce mot de passe.
Le tutoriel est fait pour un serveur MySQL installé sur le système d'exploitation CentOS, mais le processus est le même pour les autres distributions Linux.
Comment récupérer le mot de passe de l'utilisateur root d'un serveur SQL
Pour récupérer le mot de passe de l'utilisateur root d'un serveur SQL, la méthode la plus simple consiste à SSH (Secure Shell).
1. Nous nous connectons avec l'utilisateur "root” au système sur lequel se trouve le serveur MySQL. (l'utilisateur root du système, pas du serveur MySQL). Connectez-vous directement depuis la console ou à distance via connexion ssh (Avec mastic des systèmes Windows).
2. Arrêter le processus / MySQL.
service mysqld stop
ou
/etc/init.d/mysqld stop
Le résultat sera:
Stopping MySQL: [ OK ]
3. Nous démarrons le serveur MySQL avec l'option "--skip-grant-tables
". Démarrage du serveur MySQL/daemon processus sans mot de passe.
mysqld_safe --skip-grant-tables &
La sortie après la ligne de commande ci-dessus :
[1] 3041
[root@server ~]# Starting mysqld daemon with databases from /var/lib/mysql
4. On se connecte au serveur mysql avec l'utilisateur "root", en utilisant la commande :
mysql -u root
La sortie:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.0.77 Source distribution
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
5. Sélectionnez la base de données mysql et définissez le nouveau mot de passe pour l'utilisateur "root" .
use mysql;
update user set password=PASSWORD("New_Password") where User='root';
flush privileges;
quit
Résultats des commandes ci-dessus :
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set password=PASSWORD("123456") where User='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 3 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
[root@server ~]#
6. Nous arrêtons et redémarrons le service/serveur MySQL
service mysqld stop
service mysqld start
Résultat:
Starting MySQL: [ OK ]
La photo ci-dessous montre tout processus de réinitialisation de mot les utilisateurs "root” du serveur MySQL.
Maintenant, on peut se connecter au serveur MySQL (par phpMyAdmin par exemple) avec l'utilisateur "root", en utilisant le nouveau mot de passe défini ci-dessus.
Tutorial testé CentOS 5.6 avec MySQL Ver 14.12 Distrib 5.0.77, pour redhat-linux-gnu (i686) en utilisant readline 5.1.