Étape 1
Arrêter la base de données :
shell> /etc/init.d/mysql stop
Étape 2
Redémarrer la base de données
- sans authentification par mot de passe
- sans connexion au réseau
L'accès à la base de données n'est possible que via son fichier sock '/var/lib/mysql/mysql.sock'.
shell> mysqld --user=mysql --pid-file=/var/lib/mysql/mysqld.pid \
--socket=/var/lib/mysql/mysql.sock --datadir=/var/lib/mysql \
--skip-grant-tables --skip-networking &
Étape 3
Connectez-vous à la base de données et modifiez le mot de passe :
shell> mysql --database mysql --socket=/var/lib/mysql/mysql.sock
Si vous le souhaitez, affichez tous les utilisateurs :
mysql> select User, password from user;
Définir un nouveau mot de passe :
mysql> update user set password=password('NEW PASS') WHERE User='USERNAME';
Quitter la connexion à la base de données :
mysql> exit
Étape 4
Redémarrez le serveur de base de données "normalement".
shell> kill `cat /var/lib/mysql/mysqld.pid`
shell> /etc/init.d/mysql start