由于一些原因,我们可能在安装完MySQL后忘记配置的root密码,也就是无法使用mysql -u root -p登录Mysql。
可以使用如下方式强行修改MySql密码。(MySQL5.7)
- mysql5.7 以上的版本会有系统自己设置的用户名、密码,记录在mysql的debian.cnf文件中,利用这个用户登录。
查看这个文件
sudo gedit /etc/mysql/debian.cnf
图片.png
系统登录名就是 user 后面的 debian-sys-maint,密码即是 password 后面的字符串,可以用如下方式登录 mysql:
mysql -u debian-sys-maint -p
输入 debian.cnf 中的 password 即可登录到 mysql。
2.在MySQl中检查plugin字段,更新 plugin 字段为 mysql 默认值。
查看plugin
mysql> use mysql;
mysql> select plugin from user where user = 'root';
更新plugin
mysql> update user set plugin='mysql_native_password';
3.如果更新成功,修改root用户登录密码。
mysql> update user set authentication_string=password('123456') where user='root' and host='localhost';
※注意※
如果更新密码时出现如下警告,说明新设置的密码不符合MySql规定的密码规则。
[ERROR 1819 (HY000): Your password does not satisfy the current policy requirements](https://www.cnblogs.com/ivictor/p/5142809.html)
解决方式,一是设置符合规则的密码,或是更改密码规则限制【请参考 修改MySQl密码约束规则】。
4.刷新权限
mysql> flush privileges;
网友评论