定期更新后,mysql 阻止我登录,我拥有本地主机的没有密码的 root 用户。
| innodb_version | 5.7.15 |
| protocol_version | 10 |
| tls_version | TLSv1,TLSv1.1 |
| version | 5.7.15-0ubuntu0.16.04.1
我可以使用以下方式登录服务器
mysqld_safe --skip-grant-tables &
但出现错误
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'test';
ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded
如何更改 root 密码?
答案1
cat /etc/mysql/debian.cnf
在你的终端上执行 。
显示的文件内容应包含2个用户的用户名和密码。
使用这些凭据中的任何一个即可访问您的mysql
。
根据提示更改 root 密码mysql
。
跑步flush privileges
;
现在退出 MySQL pront 并尝试以 身份登录root
,它应该可以工作。
答案2
对我来说,Ayush 的解决方案不起作用。使用中定义的凭据时,/etc/mysql/debian.cnf
我收到错误:
错误 1045(28000):拒绝用户“debian-sys-maint”@“localhost”访问(使用密码:是)
相反,它采用了提出的解决方案这里:
我使用以下方式登录
mysqld_safe --skip-grant-tables &
在 mysql 提示符下我输入
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
之后我就可以正常方式登录MySQL了。