Je reçois toujours cette erreur.
J'utilise MySQL Workbench et j'ai constaté que les autorisations de schéma de root sont vides. Il n’y a aucun privilège.
Je rencontre des problèmes sur diverses plates-formes sur lesquelles j'utilise mon serveur, et c'est un problème qui surgit de nulle part.
root@127.0.0.1Apparemment, il y a beaucoup d'accès, mais je suis connecté comme ça, mais il n'est attribué qu'à localhost - localhost n'a aucune autorisation.
J'ai fait des choses commeFLUSH HOSTS、FLUSH PRIVILEGESetc. Mais aucun succès avec cette méthode ou avec Internet.
Comment puis-je restaurer l'accès root ? Je trouve cela frustrant parce que lorsque je regarde autour de moi, les gens s'attendent à ce que vous "ayez accès", mais je n'y ai pas accès, donc je ne peux pas accéder à la ligne de commande ou quoi que ce soit etGRANTfaire quoi que ce soit moi-même.
CourezSHOW GRANTS FOR rootVoici ce que je reçois en retour :
Code d'erreur : 1141. Aucune autorisation de ce type n'est définie pour l'utilisateur « root » Hôte "%"
Si vous rencontrez le même problème dans MySql 5.7.+ :
En effet, MySql 5.7 autorise les connexions socket par défaut, ce qui signifie que vous n'avez qu'à vous connecter en utilisant
sudo mysql. Si vous exécutez SQL :Ensuite, vous le verrez :
Pour autoriser les connexions par root et mot de passe, mettez à jour les valeurs du tableau à l'aide de la commande :
Ensuite, exécutez à nouveau la commande select et vous verrez qu'elle a changé :
C'est tout. Vous pouvez exécuter ce processus après avoir exécuté et terminé la commande
sudo mysql_secure_installation.Pour mariadb, utilisez
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('manager');Définissez un mot de passe. Pour plus d'informations, veuillez visiterhttps://mariadb.com/kb/en/set-password/
Instructions pour réinitialiser le mot de passe root en utilisant- Mais au lieu de réinitialiser le mot de passe root, nous forcerons l'insertion d'un enregistrement dans la table mysql.user
Dans les fichiers d'initialisation, utilisez plutôt ceci
INSERT INTO mysql.user (Host, User, Password) VALUES ('%', 'root', password('YOURPASSWORD')); GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;