我一直在这个论坛和其他论坛上搜索,但我遇到了麻烦。我安装了一个有效的MySQL,但我想当我最近尝试恢复几个模式时,我想我可能比预期的要多。
所以我的问题是:我无法再从任何应用程序访问数据库。他们被拒绝访问。当我研究时,我发现他们的账户已经不见了(因此上面评论"比我预期的要多"
我通常使用MySQL工作台,但也无法从我的客户端PC(linux Kubuntu)访问数据库。所以我转到主机命令行。。。
我可以使用命令行登录root@localhost.注意,mysql正在FreeNas上的FreeBSD监狱中运行。我最初有一个密码,但看到一些不同的重置密码的选项可能会有所帮助,包括删除它。所以这就是为什么它现在是空的。
当我尝试执行以下时
grant all privileges on *.* to 'root'@'localhost' identified by 'PASSWORD' with grant option;`
我得到以下错误
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我已通过授予的用户表权限进行了检查。。。一切看起来我应该能够做到这一点。
`+-----------+------------+-------------------------------------------+-----------+------------+
| host | user | password | Grant_priv | Super_priv |
+-----------+------------+-------------------------------------------+-----------+------------+
| localhost | root | | Y | Y |
| 127.0.0.1 | root | *E3FCFF11BABD5D85A4D6F6A30AF940F8333E2495 | Y | Y |
| % | root | *E3FCFF11BABD5D85A4D6F6A30AF940F8333E2495 | Y | Y |
+-----------+------------+-------------------------------------------+------------+------------+`
我做了select User();
和select current_user();
来确认我是谁。
我已在中重新启动--跳过授予表以尝试"重置权限"。
在这一点上,我不知道还能做些什么。如有任何想法或建议,我们将不胜感激。
好的-解决了我的问题。这个链接很有帮助。https://dba.stackexchange.com/questions/16397/cannot-grant-privileges-as-root
我发现我的用户表与MySQL的5.1版本和5.5版本是一致的。我在跑步。我以前运行过mysql_upgrade
,这次我不得不用mysql_upgrade --force
重新运行。这解决了权限问题。