1. 程式人生 > >CentOS7下mysql5.7忘記root密碼的處理方法

CentOS7下mysql5.7忘記root密碼的處理方法

1.vi /etc/my.cnf

2.在[mysqld]中新增

skip-grant-tables

例如:

[mysqld]
skip-grant-tables
datadir=/var/lib/MySQL
socket=/var/lib/mysql/mysql.sock

3.重啟mysql

service mysql restart

4.使用者無密碼登入

mysql -uroot -p (直接點選回車,密碼為空)

5.選擇資料庫

use mysql;

6.修改root密碼

update user set authentication_string=password('123456') where user='root';

7.執行

 flush privileges;

8.退出

exit;

9.刪除

skip-grant-tables

10.重啟mysql

service mysql restart

其它版本

2.修改MySQL的登入設定: 
# vim /etc/my.cnf 
在[mysqld]的段中加上一句:skip-grant-tables 
例如: 
[mysqld] 
datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock 
skip-grant-tables 
儲存並且退出vi。

3.重新啟動mysqld 
# service mysqld restart 
Stopping MySQL: [ OK ] 
Starting MySQL: [ OK ]

4.登入並修改MySQL的root密碼 
# mysql 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 3 to server version: 3.23.56 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 
mysql> USE mysql ; 
Database changed 
mysql> UPDATE user SET Password = password ( 'new-password'

 ) WHERE User = 'root' ; 
Query OK, 0 rows affected (0.00 sec) 
Rows matched: 2 Changed: 0 Warnings: 0 
mysql> flush privileges ; 
Query OK, 0 rows affected (0.01 sec) 
mysql> quit

5.將MySQL的登入設定修改回來 
# vim /etc/my.cnf 
將剛才在[mysqld]的段中加上的skip-grant-tables刪除 
儲存並且退出vim

6.重新啟動mysqld 
# service mysqld restart 
Stopping MySQL: [ OK ] 
Starting MySQL: [ OK ]