我不断收到此错误。
我正在使用 mySQL Workbench,我发现 root 的架构权限为空。根本没有任何特权。
我在使用我的服务器的各个平台上遇到了问题,而且这是一个突然出现的问题。
root@127.0.0.1 显然有很多访问权限,但我是这样登录的,但它只是分配给本地主机 - 本地主机没有权限。
我做了一些事情,比如 FLUSH HOSTS
、FLUSH PRIVILEGES
等
但没有从该方法或互联网上取得成功。
如何才能恢复 root 访问权限?我觉得这很令人沮丧,因为当我环顾四周时,人们希望您“有权访问”,但我没有访问权限,所以我无法进入命令行或任何东西,并且 GRANT
自己做任何事情。
运行 SHOW GRANTS FOR root
这是我得到的回报:
错误代码:1141。没有为用户“root”定义此类授权 主机“%”
如果您在 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 表
在初始化文件中,使用它来代替