J'avais l'habitude d'accéder très bien à l'utilisateur root dans MySQL. Mais récemment, je n'en suis plus capable.
Je peux me connecter correctement:
mysql -u root -p
Voici l'état de mysql après la connexion:
mysql> status
--------------
mysql Ver 14.14 Distrib 5.5.28, for debian-linux-gnu (i686) using readline 6.2
Connection id: 37
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.5.28-0ubuntu0.12.04.3 (Ubuntu)
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 4 min 16 sec
Threads: 1 Questions: 112 Slow queries: 0 Opens: 191
Flush tables: 1 Open tables: 6 Queries per second avg: 0.437
--------------
Mais quand je veux faire une action, telle que:
mysql> CREATE DATABASE moyennegenerale;
ERROR 1044 (42000): Access denied for user 'root'@'%' to database 'moyennegenerale'
Je comprends que cela %
signifie tout hôte, mais mon statut indique clairement localhost. Quelqu'un a-t-il une idée de ce qui pourrait se passer?
la source
Après avoir entré en tant
root
qu'utilisateur, vérifiez vos privilèges:Après avoir vérifié vos privilèges, vous pouvez essayer de donner tous les privilèges à un autre utilisateur, ou vous pouvez essayer de donner à
root
nouveau tous les privilèges à l' utilisateur:Si votre
root
utilisateur n'a pas de privilèges, vous pouvez essayer de les restaurer, alors:Arrêtez le
mysqld
serveurRedémarrez le serveur de cette façon
mysqld_safe --skip-grant-table
Restaurer les
root
privilèges avec:la source
root
connecter commedebian-sys-maint@localhost
et utiliser le mot de passe/etc/mysql/debian.cnf
. Cet utilisateur a TOUS les privilèges dans MySQL. La bonne chose est que vous n'avez pas besoin de redémarrer votre serveur.Vos privilèges peuvent être réduits?
Vous pouvez également essayer de créer un autre compte avec des privilèges root.
Et supprimez l'utilisateur root et recréez avec les privilèges spécifiés.
Cela peut être utile: http://dev.mysql.com/doc/refman/5.5/en/resetting-permissions.html
C.5.4.1.2 - LINUX (Créer un fichier avec une requête qui crée, un nouvel utilisateur avec des privilèges root complets)
C.5.4.1.1 - Windows (Créer un fichier avec une requête qui crée, un nouvel utilisateur avec des privilèges root complets)
Requête: (Créer un utilisateur root)
MySQL Manual Create User: http://dev.mysql.com/doc/refman/5.5/en/adding-users.html
la source