我一直在搜索这个和其他论坛,但我已经碰壁了。我有一个工作的MySQL安装,但我想当我最近尝试恢复几个架构时,我认为我比我预期的更多。
所以这是我的问题: 我无法再从任何应用程序访问数据库了。他们被拒绝访问。当我研究时,我发现他们的账户已经不见了(因此上面的评论关于"比我预期的更多"。
我通常使用MySQL Workbench,但无法从我的客户端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();
以确认我是谁。
我已在--skip-grant-tables中重新启动,尝试重置权限'。
在这一点上,我迷失了还有什么可尝试的。任何想法或建议都表示赞赏。
答案 0 :(得分:1)
好的 - 弄明白了我的问题。这个链接很有帮助。 https://dba.stackexchange.com/questions/16397/cannot-grant-privileges-as-root
我发现我的用户表与5.1版本的MySQL相比内联。我之前在跑步。我之前运行过mysql_upgrade
,这次我不得不重新运行mysql_upgrade --force
。这解决了权限问题。