Mac Mysql更改密码,没有用户表运行更新查询

Mac Mysql更改密码,没有用户表运行更新查询,mysql,macos,passwords,super,Mysql,Macos,Passwords,Super,我可以用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

我可以用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我的管理员(屏幕截图):

错误:

其他屏幕截图:


附加屏幕截图2:

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

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


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

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

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


另一个想法是:当您在命令行中使用-p时,不允许在其旁边写入密码(稍后它会询问您)。如果在-p之后写入内容,它会认为这是数据库名称…

要设置根用户的密码:

/usr/bin/mysqladmin -root password 'new-password'
尝试了解mysql守护程序是否已启动:

/usr/bin/mysqladmin -u root -p ping
如果未激活,请尝试:

/etc/init.d/mysql start

&验证是否安装了mcrypt软件包。

要设置root用户的密码:

/usr/bin/mysqladmin -root password 'new-password'
尝试了解mysql守护程序是否已启动:

/usr/bin/mysqladmin -u root -p ping
如果未激活,请尝试:

/etc/init.d/mysql start

&验证是否安装了mcrypt软件包。

根据您在评论中发布的其他信息,您的MySQL
root用户似乎不再具有系统的root权限。在快速搜索了
mysql重置根权限后
我找到了这个,它给出了如何将根权限恢复到您的根帐户的详细说明

注意,我没有尝试过这些步骤,它们是从2009年开始的,MySQL可能从创建这些指令时起在内部进行了更改。然而,尽管如此,帖子上的评论是正面的(当然,评论可能是假的)

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


仔细看这些说明,我觉得它们是有效的。我注意到,它们包括关闭MySQL守护进程,使用关闭所有表安全性的选项重新启动MySQL,然后执行更新以将权限添加回
root
用户。现在,我建议您尝试一下这些步骤。

从您在评论中发布的其他信息来看,您的MySQL
root
用户在您的系统上不再具有root权限。在快速搜索了
mysql重置根权限后
我找到了这个,它给出了如何将根权限恢复到您的根帐户的详细说明

注意,我没有尝试过这些步骤,它们是从2009年开始的,MySQL可能从创建这些指令时起在内部进行了更改。然而,尽管如此,帖子上的评论是正面的(当然,评论可能是假的)

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


仔细看这些说明,我觉得它们是有效的。我注意到,它们包括关闭MySQL守护进程,使用关闭所有表安全性的选项重新启动MySQL,然后执行更新以将权限添加回
root
用户。现在我建议尝试一下这些步骤。

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

卓越指南:


再次感谢大家:)

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

卓越指南:


再次感谢大家:)

你看过这篇文章吗?是的,我检查了,他们再次说“更新用户设置密码=密码”,但我找不到mysql或用户表,我应该自己创建吗?我从您的
错误
屏幕截图中注意到,您输入的
mysqladmin-uroot
-u
之间没有空格。你能用空格重试这个命令吗?对不起,john,它不起作用,我没有间隙就试过了。我刚刚看到你的最新屏幕截图,显示你可以以root用户身份登录mysql,但不能使用数据库mysql。很奇怪。这是新安装的吗?登录命令行后,当您输入
状态
命令时会得到什么?您看到这篇文章了吗?是的,我检查了,他们再次说“更新用户设置密码=密码”,但我找不到mysql或用户表,我应该自己创建吗?我从您的
错误
屏幕截图中注意到,您输入的
mysqladmin-uroot
-u
之间没有空格。你能用空格重试这个命令吗?对不起,john,它不起作用,我没有空格就试过了。我刚刚看到你的最新屏幕截图显示