Vous pouvez utiliser les fichiers init. Consultez la documentation officielle de MySQL sur Comment réinitialiser le mot de passe racine (y compris des commentaires pour des solutions alternatives).
Donc, en utilisant essentiellement les fichiers init, vous pouvez ajouter toutes les requêtes SQL dont vous avez besoin pour réparer votre accès (telles que GRAND
, CREATE
, FLUSH PRIVILEGES
, etc.) dans le fichier init (n'importe quel fichier).
Voici mon exemple de récupération de compte root :
echo "CREATE USER 'root'@'localhost' IDENTIFIED BY 'root';" > your_init_file.sql
echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;" >> your_init_file.sql
echo "FLUSH PRIVILEGES;" >> your_init_file.sql
et après avoir créé votre fichier, vous pouvez exécuter :
killall mysqld
mysqld_safe --init-file=$PWD/your_init_file.sql
puis pour vérifier si cela a fonctionné, appuyez sur Ctrl+Z et tapez :bg
pour exécuter le processus du premier plan vers l'arrière-plan, puis vérifiez votre accès en :
mysql -u root -proot
mysql> show grants;
+-------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' |
Voir aussi :
- Pas de mot de passe – Pas de problème chez Tout MySQL
- Bug #28331 :message d'erreur peu clair lorsque CREATE USER échoue en raison d'une clé en double