如果 MySQL 普通帳戶忘記了密碼,很容易解決,可以透過登入 root 帳戶來重設普通帳戶密碼。
然而,如果 root 帳戶的密碼也忘記或遺失了,該怎麽辦呢?
這篇文章將教你如何重設 root 帳戶密碼,親測有效。
版本:MySQL5.7
方法1:
1. 停止MySQL服務
kill `cat /var/run/mysqld/mysqld.pid`
或者
pkill mysqld
2. 建立一個密碼賦值語句的文字檔案
# vi mysql-init
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass!6';
例項啟動在載入授權表之前會執行此語句來重設密碼。
3. 使用--init-file選項啟動MySQL服務
mysqld --init-file=mysql-init --user=mysql &
4. 刪除文字檔案,使用新密碼連線MySQL
rm -f mysql-init
mysql -uroot -p 'MyNewPass!6'
5. 停止MySQL服務並正常啟動
kill `cat /var/run/mysqld/mysqld.pid`
systemctl start mysqld
方法2:
1. 停止MySQL服務
kill `cat /var/run/mysqld/mysqld.pid`
或者
pkill mysql
2. 使用--skip-grant-tables和--skip-networking選項啟動MySQL服務
mysqld --skip-grant-tables --skip-networking --user=mysql
--skip-grant-tables:跳過授權表認證。
--skip-networking:加了跳過授權表選項後所有的人都可以無密碼登入,這是很不安全的,此選項不監聽網路,防止惡意登入。
3. 無密碼連線MySQL,並重設密碼
mysql
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass!6';
4. 停止MySQL服務並正常啟動(不加上面兩個skip選項)
kill `cat /var/run/mysqld/mysqld.pid`
systemctl start mysqld
往期推薦
點亮,伺服器三年不宕機