2

我可以使用 root 登录 - “无密码”,但我无法更改密码。我检查了很多链接,每个人都说要在用户表上运行更新查询,但我什至在 phpmyadmin 中找不到用户表。

我得到的错误是:

$ /usr/local/mysql/bin/mysqladmin -u root -p password
Enter password: 
New password: 
Confirm new password: 

/usr/local/mysql/bin/mysqladmin: Can't turn off logging; error: 'Access denied; you need (at least one of) the SUPER privilege(s) for this operation'

任何帮助都将非常有用

PHP 我的管理员(截图):http ://awesomescreenshot.com/021cxa0fb

错误:http: //i47.tinypic.com/1j1b0m.png

附加截图:http: //i48.tinypic.com/w9vbtl.png

附加截图2:http: //i48.tinypic.com/4rymps.png

4

4 回答 4

2

在我看来,您使用 phpmyadmin 来查找表。如果是这样,您将不会看到所有表格。您必须在终端中使用“mysql”命令以 root 身份登录 mysql:

$ mysql -u root

然后您可以运行“更新用户...”-命令(您不必查看包含用户信息的表)

另一个想法:当你在命令行中使用 -p 时,你不能在它旁边写密码(它稍后会问你)。如果你在 -p 之后写一些东西,它会认为这是数据库名称......

于 2012-08-11T21:44:58.063 回答
2

从您在评论中发布的其他信息看来,您的 MySQLroot用户在您的系统上不再具有 root 权限。在进行快速搜索后,mysql reset root privileges我发现这篇博文似乎提供了有关如何将 root 权限恢复到您的 root 帐户的详细说明。

请注意,我没有尝试过这些步骤,它们是从 2009 年开始的,从创建这些指令时开始,MySQL 可能在内部发生了变化。然而,话虽如此,帖子上的评论是正面的(当然,评论可能是假的)。

我的建议是备份包含所有 MySQL 数据的目录(或多个目录),然后按照它们的布局完全尝试这些步骤。

更仔细地查看这些说明,它们对我来说似乎是有效的。我注意到它们涉及关闭 MySQL 守护程序,使用关闭所有表安全性的选项重新启动 MySQL,然后执行更新以将权限添加回root用户。我现在建议尝试这些步骤。

于 2012-08-11T22:18:11.640 回答
0

设置 root 的密码:

/usr/bin/mysqladmin -root password 'new-password'

尝试知道mysql守护进程是否启动:

/usr/bin/mysqladmin -u root -p ping

如果不活着尝试:

/etc/init.d/mysql start

& 验证是否安装了 mcrypt 包。

于 2012-08-11T22:12:06.930 回答
0

我解决了问题,谢谢大家。我按照以下指南重新安装了 mysql 服务器,问题是我使用更新查询将密码直接更新到 mysql.user 表,这是错误的,因为密码应该以加密形式存储在 mysql 中。用户表,如果我们直接通过查询更新它,那么它将是一个字符串。

优秀的指南: http ://blog.mclaughlinsoftware.com/2011/02/10/mac-os-x-mysql-install/

再次感谢大家:)

于 2012-08-12T09:58:24.403 回答