用户 'root'@'localhost' 的访问被拒绝(使用密码:YES) - 没有权限?
我不断收到此错误.
我正在使用 mySQL Workbench,我发现 root 的架构权限为空.根本没有特权.
I am using mySQL Workbench and from what I am finding is that root's schema privileges are null. There are no privileges at all.
我在使用我的服务器的平台上遇到了问题,这是一个突然的问题.
I am having troubles across platforms that my server is used for and this has been all of a sudden issue.
root@127.0.0.1 显然有很多访问权限,但我以该身份登录,但无论如何它只是分配给 localhost - localhost 没有权限.
root@127.0.0.1 apparently has a lot of access but I am logged in as that, but it just assigns to localhost anyways - localhost has no privileges.
我做过一些事情,比如FLUSH HOSTS
、FLUSH PRIVILEGES
等但没有发现从那个或互联网上取得成功.
I have done a few things like FLUSH HOSTS
, FLUSH PRIVILEGES
, etc
but have found no success from that or the internet.
我怎样才能获得 root 的访问权限?我觉得这令人沮丧,因为当我环顾四周时,人们希望你有访问权限",但我没有访问权限,所以我无法进入命令行或任何东西,也不能GRANT
自己任何东西.
How can I get root its access back? I find this frustrating because when I look around people expect you to "have access" but I don't have access so I can't go into command line or anything and GRANT
myself anything.
运行 SHOW GRANTS FOR root
时,这是我得到的回报:
When running SHOW GRANTS FOR root
this is what I get in return:
错误代码:1141.没有为用户root"定义这样的授权主机'%'
Error Code: 1141. There is no such grant defined for user 'root' on host '%'
推荐答案
使用 重置 root 密码的说明 - 但不是重置 root 密码,我们将强行将记录插入到 mysql.user 表中
Use the instructions for resetting the root password - but instead of resetting the root password, we'll going to forcefully INSERT a record into the mysql.user table
在init文件中,改用这个
In the init file, use this instead
INSERT INTO mysql.user (Host, User, Password) VALUES ('%', 'root', password('YOURPASSWORD'));
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
相关文章