我在我的 MySQL 设置中遇到了 MySQL root 用户的问题,我就是无法解决这个问题。看来我以某种方式弄乱了 root 用户,现在我对数据库的访问非常不稳定。
作为引用,我在 OS X 上使用 MAMP 来提供 MySQL 服务器。不过我不确定这有多重要 - 我想无论我做了什么都需要命令行修复来解决它。
我可以像往常一样使用 MAMP 启动 MySQL,并使用我为我的 PHP 应用程序创建的“标准”用户访问数据库。但是,我在我的 MySQL GUI 客户端和 phpMyAdmin 中使用的 root 用户只能访问“information_schema”数据库,以及我手动创建的两个数据库,并且可能(并且错误地)将权限完全开放。 root 用户无法访问我的 15 个左右的其他数据库。当我加载 phpMyAdmin 时,主屏幕显示:“创建新数据库:无权限”。
我确实在某个阶段使用 MAMP 对话框更改了我的 root 用户的密码。但我不记得我是否做了其他可能导致此问题的事情。我又试过修改密码,问题似乎没有改变。
我也尝试过使用命令行重置 root 密码,包括使用 --skip-grant-tables 手动启动 mysql 然后刷新权限,但同样,似乎没有任何方法可以解决问题。
我的想法已经结束,非常感谢这里的一位专家提供的一些逐步建议和诊断!
非常感谢您的帮助。
最佳答案
我遇到了同样的问题:只有一个用户帐户可以通过管理控制台或查询浏览器访问 mysql 数据库。当我使用 skip-grant-tables 时,突然所有帐户都可以登录,包括 root。
我看到了as a bug as far back as 2006 , 但是最后一个条目没有在 skip-grant-tables 模式下可以执行的命令,所以我仍然没有解决问题。
对我有什么帮助
这个答案类似于 Ben Bakelaar 描述的答案 in the above link .当您的 my.ini
禁用了名称解析标志 (skip-name-resolve) 时,问题就来了。这会破坏 mysql 解析“localhost”的能力,并且 mysql.user 表只有 localhost/root 的条目。
将您的 mysql.user 表的本地主机条目更新为 127.0.0.1,即使启用了跳过名称解析功能,您也可以登录到本地控制台。
关于php - 无法诊断我的 MySQL root 用户问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1424240/