MySQL 上的 Root 用户身份验证字符串

MySQL 上的 Root 用户身份验证字符串

我花了很多时间试图弄清楚这一点,并最终接近解决方案,正如本文

特别是这一行:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';

但是,当我在命令行上运行它时,我得到以下结果:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'

在这篇文章的下面,有人发表了一条评论:

如果该命令ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘test’;不起作用您可以尝试:

UPDATE mysql.user SET authentication_string = PASSWORD(‘test’), plugin = ‘mysql_native_password’ WHERE User = ‘root’ AND Host = ‘localhost’;

FLUSH PRIVILEGES;

当我尝试这个时我得到以下信息:

mysql>
UPDATE mysql.user SET authentication_string = PASSWORD(‘test’), plugin = ‘mysql_native_password’ WHERE User = ‘root’ AND Host = ‘localhost’;
ERROR 1054 (42S22): Unknown column '‘root’' in 'where clause'

我发现问题在于我的 root 用户没有设置密码。这就是我无法以 root 身份登录的原因,我搜索了所有我在这里找到的与此相关的问题,但没有任何解决方案。

以下是一些对我找到上述资源有帮助的警告。

根用户未设置 authentication_string

https://gyazo.com/fef2073150114ae487f6a0b3b6cf3f96

任何帮助深表感谢。

相关内容