天天看點

Mysql忘記使用者密碼的解決辦法

1.1 忘記使用者密碼的解決辦法

普通使用者,直接用root超級管理者登入進去修改密碼就可以了,但是如果root密碼丢失了,怎麼辦呢? 

1.1.1 msyqld_saft方式找回密碼

停止mysql:service mysqld stop; 

安全模式啟動:mysqld_safe –skip-grant-tables & 

無密碼Enter鍵登入:mysql -uroot –p 

重置密碼:use mysql; update user set password=password('') where user=’root’ and host=’localhost’; flush privileges; 

正常啟動:service mysql restart 

再使用mysqladmin: mysqladmin password '123456' 

1.1.2 使用普通賬号來找回密碼

–>(1):有一個修改test庫的使用者:grant create,delete,update,insert,select on d3307.* to test@’%’ identified by ‘t1’;

–>(2):複制user表檔案到test庫下并且賦予mysql使用者通路權限: 

cp /home/data/mysql/data/mysql/user.* /home/data/mysql/data/test/;chown mysql.mysql /home/data/mysql/data/test/user.*

–>(3):mysql -utest -pt1登入修改root密碼:

–>(4):将test庫的user表檔案覆寫 mysql庫的user表檔案 

cp /home/data/mysql/data/mysql/user.* /tmp/; mv /home/data/mysql/data/test/user.* /home/data/mysql/data/mysql/ ; chown mysql.mysql /home/data/mysql/data/mysql/user.*;

–>(5):查找mysql程序号,并且發送SIGHUP信号,重新加載權限表。 

pgrep -n mysql; kill -SIGHUP 12234;

–>(6):無密碼登入,再使用mysqladmin重新設定密碼。

PS:請參考第20課的視訊,那裡有詳細的記錄整個過修改密碼的過程。