修改MySQL root密碼
由于一些原因,我們可能在安裝完MySQL后忘記配置的root密碼,也就是無法使用mysql -u root -p登錄Mysql。
可以使用如下方式強(qiáng)行修改MySql密碼。(MySQL5.7)
1. mysql5.7 以上的版本會有系統(tǒng)自己設(shè)置的用戶名、密碼,記錄在mysql的debian.cnf文件中,利用這個(gè)用戶登錄。
查看這個(gè)文件
```
sudo gedit /etc/mysql/debian.cnf
```

系統(tǒng)登錄名就是 user 后面的 debian-sys-maint,密碼即是 password 后面的字符串,可以用如下方式登錄 mysql:
```
mysql -u debian-sys-maint -p
```
輸入 debian.cnf 中的 password 即可登錄到 mysql。
2.在MySQl中檢查plugin字段,更新 plugin 字段為 mysql 默認(rèn)值。
查看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';
```
※注意※
如果更新密碼時(shí)出現(xiàn)如下警告,說明新設(shè)置的密碼不符合MySql規(guī)定的密碼規(guī)則。
```
[ERROR 1819 (HY000): Your password does not satisfy the current policy requirements](https://www.cnblogs.com/ivictor/p/5142809.html)
```
解決方式,一是設(shè)置符合規(guī)則的密碼,或是更改密碼規(guī)則限制[【請參考? 修改MySQl密碼約束規(guī)則】](https://www.jianshu.com/p/1e22b3cad32c)。
4.刷新權(quán)限
```
mysql> flush privileges;
```