J'ai accidentellement supprimé la plupart des privilèges de mon utilisateur root MySQL, y compris la possibilité d'accorder des privilèges. Est-il possible de restaurer cet utilisateur dans son état d'origine?Comment restaurer les privilèges de l'utilisateur root MySQL?
Répondre
Vous pourriez encore être en mesure de faire une UPDATE
sur la table user
dans la base mysql
:
USE mysql;
UPDATE user SET Grant_priv='1' WHERE User='root';
FLUSH PRIVILEGES;
Si l'étape 3 ne fonctionne pas, le redémarrage du serveur MySQL aura le même effet. Si l'étape 2 ne fonctionne pas, vous devez restaurer mysql.user
à partir de la sauvegarde. Si vous n'avez pas de sauvegarde, faites une sauvegarde, réinstallez MySQL, puis restaurez de manière sélective votre sauvegarde, en omettant les tables dans la base de données mysql
.
MISE À JOUR
Vous obtenez Accès refusé lors de la première étape. À ce stade, vous êtes aux solutions alternatives avec des sauvegardes. Il n'y a aucun moyen (que je sache ou que je puisse facilement imaginer) que vous récupériez ces tables autrement.
MISE À JOUR 2
Le message d'erreur exact revient à dire que, en plus de perdre grant
privilèges de root, vous avez laissé tomber l'accès root à la mysql
DB. Sans avoir accès à cette base de données et sans avoir les privilèges grant
, la seule façon dont je peux voir en arrière est d'obtenir en quelque sorte une nouvelle copie de la base de données mysql
.
Y a-t-il une chance que vous ayez configuré un esclave de réplication?
Accès refusé lors de la première étape. – LogicWolfe
Dans le cas où le message d'erreur exact est en quelque sorte plus utile: ERREUR 1044 (42000): Accès refusé pour l'utilisateur 'root' @ 'localhost' à la base de données 'mysql' – LogicWolfe
Vous avez obtenu cela en utilisant temporairement --skip-grant-tables pour mysqld. Une fois cela fait, l'octroi des privilèges a bien fonctionné. http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html contient des informations sur les autres utilisateurs susceptibles de rencontrer le même problème. – LogicWolfe