當前位置: 妍妍網 > 碼農

MySQL 密碼忘記了怎麽辦?

2024-07-03碼農

如果 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

    往期推薦


    點亮,伺服器三年不宕機