Mysql密码散列保存到myql.user表的Plugin列中

Mysql密码散列保存到myql.user表的Plugin列中,mysql,phpmyadmin,Mysql,Phpmyadmin,我在iMac(OS X 10.11.1)上本地运行MySQL,通过自制软件安装(目前是MySQL版本5.7.9)。我还通过Homebrew安装了Phpmyadmin(目前版本为4.5.1,因为4.5.2尚未通过Homebrew提供)。问题是: 使用以下语法创建新用户时(无论是通过命令行还是phpmyadmin): 创建用户“test”@“localhost”,通过“pass”使用mysql_native_密码标识 或使用默认的phpmyadmin语法: 创建用户“test1”@“%”,用mysq

我在iMac(OS X 10.11.1)上本地运行MySQL,通过自制软件安装(目前是MySQL版本5.7.9)。我还通过Homebrew安装了Phpmyadmin(目前版本为4.5.1,因为4.5.2尚未通过Homebrew提供)。问题是:

使用以下语法创建新用户时(无论是通过命令行还是phpmyadmin):

创建用户“test”@“localhost”,通过“pass”使用mysql_native_密码标识

或使用默认的phpmyadmin语法:

创建用户“test1”@“%”,用mysql_本机_密码标识为“***”

创建的用户在phpmyadmin中显示为没有密码。检查mysql.user表后,我可以看到以下内容:

Host | User | Password |(…)12409_subject |(…)| plugin |(…)
%| test1 |(空)|(…)|[BLOB-1b]|(…)|(传递散列)|(…)

这显然是错误的,但我不知道为什么以及如何解决这个问题。这只是最近才发生的事情,之前创建的所有用户都已正确添加到表中,其中插件列按预期读取
mysql\u native\u password
,密码哈希在password列中,而不是在plugin列中

我发现这篇文章也有类似的问题:

然而,由于我仍然能够登录所有以前创建的用户没有问题,我认为这只是一个类似的问题,但并不完全相同


更奇怪的是:我的同事在她的iMac上有完全相同的设置和相同的问题,而我在MacBook Air上也有相同的设置,但运行正常……在它上,我可以创建没有问题的用户,并且所有内容都写入正确的列。

因为您的mysql.user表对于mysql 5.7来说是非标准的,您可能需要更新它。建议使用mysql_升级实用程序,请参阅。

[代表Deven Bansod]您是否对“mysql.user”表进行了任何更改?可能您可以在以下位置查看标准列:如果您做了一些更改,那么您应该“撤消”这些更改,因为这是问题的最可能原因。谢谢您的评论。我已经对照标准列检查了我的
mysql.user
表,发现它们的排序不同(我认为这应该不是问题),并且缺少三列:
password\u last\u changed
password\u life
account\u locked
。这可能是问题所在吗?另外,我自己也没有直接接触过用户表(至少没有接触到我的内存),通过自制软件持续更新版本会导致问题吗?假设最简单的解决方案是转储所有表(不包括mysql表)并完全重新安装,对吗?