MySQL8.0 忘記密碼解決方案

一、問題背景

MySQL是目前應用最廣泛的關係型數據庫之一,但在使用的過程中,可能不可避免的會出現忘記MySQL賬號密碼的情況。這時候怎麼辦呢?本篇文章將從多方面為大家介紹MySQL8.0忘記密碼的解決方案。

二、方案1:更新root密碼

如果您忘記了root密碼,可以通過以下方法來更新root密碼:


1. 停止MySQL服務,使用管理員權限打開cmd,輸入如下命令:
    net stop mysql80

2. 修改MySQL配置文件my.ini,在[mysqld]下加入skip-grant-tables,表示跳過權限驗證:
    [mysqld]
    ……
    skip-grant-tables

3. 重啟MySQL服務,打開cmd,輸入如下命令:
    net start mysql80

4. 使用root賬號登錄MySQL,無需密碼:
    mysql -uroot

5. 更新root密碼:
    mysql> UPDATE user SET authentication_string=password('新密碼') WHERE user='root';
    mysql> FLUSH PRIVILEGES;

6. 刪除my.ini中的skip-grant-tables,重啟MySQL服務,再次登錄root用戶,使用新密碼即可:
    mysqladmin -uroot -p shutdown
    net start mysql80
    mysql -uroot -p

三、方案2:使用mysqladmin命令重置密碼

MySQL自帶了mysqladmin命令,我們可以藉助該命令來重置MySQL賬戶密碼:


1. 停止MySQL服務,使用管理員權限打開cmd,輸入如下命令:
    net stop mysql80

2. 修改MySQL配置文件my.ini,在[mysqld]下加入skip-grant-tables,表示跳過權限驗證:
    [mysqld]
    ……
    skip-grant-tables

3. 重啟MySQL服務,打開cmd,輸入如下命令:
    net start mysql80

4. 使用mysqladmin命令來重置MySQL賬戶root的密碼:
    mysqladmin -u root password 新密碼

5. 刪除my.ini中的skip-grant-tables,重啟MySQL服務,使用新密碼即可:
    mysqladmin -uroot -p shutdown
    net start mysql80
    mysql -uroot -p

四、方案3:修改MySQL數據表中密碼

如果您不知道root賬戶密碼,也可以直接修改MySQL數據表中的密碼,來達到重置密碼的目的:


1. 停止MySQL服務,使用管理員權限打開cmd,輸入如下命令:
    net stop mysql80

2. 修改MySQL配置文件my.ini,在[mysqld]下加入skip-grant-tables,表示跳過權限驗證:
    [mysqld]
    ……
    skip-grant-tables

3. 重啟MySQL服務,打開cmd,輸入如下命令:
    net start mysql80

4. 登錄MySQL,不需要密碼了:
    mysql -uroot

5. 修改root賬戶的密碼,例如修改為“123456”:
    mysql> use mysql;
    mysql> update user set authentication_string=password('123456') where user='root';

6. 刷新權限:
    mysql> flush privileges;

7. 刪除my.ini中的skip-grant-tables,重啟MySQL服務,使用新密碼即可:
    mysqladmin -uroot -p shutdown
    net start mysql80
    mysql -uroot -p

五、方案4:通過重置system表空間密碼進行重置

如果您不是系統管理員,也可以使用以下手段來重置密碼:


1. 使用管理員權限登錄MySQL,執行以下SQL語句:
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

2. 刷新權限:
    FLUSH PRIVILEGES;

3. 重置system表空間密碼:
    SET PASSWORD FOR 'root'@'localhost' = '123456';

4. 退出MySQL,使用新密碼登錄即可:
    exit
    mysql -uroot -p

六、小結

本篇文章總結了多種方案用於解決MySQL8.0忘記密碼的問題。根據個人情況選擇相應的方案即可。如果以上方案都無法解決問題,建議您搜索相關技術社區解決方案,或者諮詢專業人士。

原創文章,作者:XLSPH,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/368447.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
XLSPH的頭像XLSPH
上一篇 2025-04-12 01:13
下一篇 2025-04-12 01:13

相關推薦

發表回復

登錄後才能評論