Ich bekomme immer wieder diesen Fehler.
Ich verwende mySQL Workbench und habe festgestellt, dass die Schemaberechtigungen von Root leer sind. Es gibt überhaupt keine Privilegien.
Ich habe Probleme auf verschiedenen Plattformen, auf denen ich meinen Server verwende, und dieses Problem taucht aus heiterem Himmel auf.
root@127.0.0.1Anscheinend gibt es viele Zugriffe, aber ich bin so angemeldet, aber es ist nur localhost zugewiesen – localhost hat keine Berechtigungen.
Ich habe einige Dinge getan wieFLUSH HOSTS
、FLUSH PRIVILEGES
usw. Aber kein Erfolg mit dieser Methode oder dem Internet.
Wie kann ich den Root-Zugriff wiederherstellen? Ich finde das frustrierend, denn wenn ich mich umsehe, erwarten die Leute, dass man „Zugriff hat“, aber ich habe keinen Zugriff, also kann ich nicht in die Befehlszeile oder so gehen undGRANT
selbst etwas tun.
LaufenSHOW GRANTS FOR root
Das bekomme ich als Gegenleistung:
Fehlercode: 1141. Für den Benutzer „root“ ist keine solche Berechtigung definiert. Host „%“
如果您在 MySql 5.7.+ 中遇到同样的问题:
这是因为MySql 5.7默认允许使用socket连接,这意味着你只需使用
sudo mysql
连接即可。如果你运行sql:然后你就会看到它:
要允许使用 root 和密码进行连接,请使用命令更新表中的值:
然后再次运行 select 命令,您将看到它已更改:
就是这样。您可以在运行并完成
sudo mysql_secure_installation
命令后运行此过程。对于 mariadb,请使用
设置密码。 更多信息请访问https://mariadb.com/kb/en/set-password/
使用重置root密码的说明- 但我们不会重置 root 密码,而是将强制将一条记录插入 mysql.user 表
在初始化文件中,使用它来代替