php - 无法诊断我的 MySQL root 用户问题

标签 php mysql phpmyadmin mamp

我在我的 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/

相关文章:

mysql - 从终端打开 MySQL

mysql - SQL 性能 : Which is quicker? IN() 与 JOIN

MySQL 将前导数字添加到列中的现有 ID

phpmyadmin返回查询结果但php返回0

php - mysql 最后插入的 id 的 Joomla 语法?

php - 检查是否安装了 PEAR MAIL

php - PHP 中的 XPath - SimpleXMLElement 键数字而不是文本

javascript - 使用 Node 显示 SQL 值

mysql - 如何使用 StartTime(varchar) 和 EndTime(varchar) 在 MySQL 中搜索记录?

php - 每个 GROUP BY 的总行数