1首先關閉mysql服務,確保沒有任何一個和mysql服務相關的進程開啟
systemctl stop mysqld
ps -aux | grep mysql
2把mysql放在后台啟動(--skip-grant-table跳過授權表)
mysqld_safe --skip-grant-tables &
3進入mysql(不需要用戶名和密碼,類似單用戶模式)
mysql
show databases; (查看有哪些數據庫)
use mysql (切換數據庫內)
show tables; (查看有哪些表)
desc user; (查看這個表有哪些列)(主要找user保存用戶位置和authentication_string保存密碼位置)
select user,authentication_string from user; (查看user和authentication_string從user表)
update user set authentication_string =PASSWORD('123456') where user='root'; (更改密碼)
flush privileges; (刷新授權表)
4殺死所有進程(剛才啟動方式跳過授權表,不安全)
ps aux | grep mysql (查看進程)
kill -9 PID (殺死進程)
5正常啟動服務
systemctl start mysqld