1.1 忘記用戶密碼的解決辦法
普通用戶,直接用root超級管理員登錄進去修改密碼就可以了,但是如果root密碼丟失了,怎么辦呢?
1.1.1 msyqld_saft方式找回密碼
停止mysql:service mysqld stop;
安全模式啟動:mysqld_safe –skip-grant-tables &
無密碼回車鍵登錄: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課的視頻,那里有詳細的記錄整個過修改密碼的過程。