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課的視訊,那裡有詳細的記錄整個過修改密碼的過程。