我花了很多时间试图弄清楚这一点,最终达成了非常接近的解决方案,正如本文所指出的:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
尤其是这一行:
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’;” doesn’t work you can try :
```
UPDATE mysql.user SET authentication_string = PASSWORD(‘test’), plugin = ‘mysql_native_password’ WHERE User = ‘root’ AND Host = ‘localhost’;
刷新特权;
当我尝试这一点时,我得到以下结果:
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身份登录,我已经梳理了这里讨论的所有线程,没有任何解决方案。
以下是一些对我找到上述资源很有帮助的警告。
根用户没有身份验证字符串集
https://gyazo.com/fef2073150114ae487f6a0b3b6cf3f96
非常感谢您的帮助。
谢谢。
根据评论中提出的问题提供的补充信息:
mysql>显示create user root@'localhost';错误1396(hy000):显示“root”@“localhost”的创建用户操作失败
我试图解决的问题是为root添加密码。
现在我必须使用以下sudomysql运行mysql
我不能做像mysql-u root-p这样的事情
我得到以下输出:
tkhara@sandbox:~$mysql-u root-p输入密码:错误1698(28000):拒绝用户'root'@'localhost'访问
因为似乎没有为根用户设置密码。
暂无答案!
目前还没有任何答案,快来回答吧!