首頁  >  文章  >  資料庫  >  mysql 密碼忘記了

mysql 密碼忘記了

PHPz
PHPz原創
2023-05-14 10:15:3716272瀏覽

MySQL是一種常用的關係型資料庫管理系統,可以用於資料存儲,資料處理,以及資料分析等面向。在使用MySQL的過程中,我們可能會遇到忘記密碼的問題,如果這個問題不及時處理,會對我們的工作和資料造成不必要的影響。在本文中,我將會向讀者介紹若忘記MySQL密碼該如何處理的問題。

首先,我們要了解MySQL密碼儲存的方式。 MySQL將密碼儲存為加密後的雜湊字串,這個過程是透過使用SHA1()加密函數和一個叫做Salt的隨機字串來完成的。由於這個加密過程是不可逆的,所以我們必須採取一些特定的措施才能夠恢復MySQL密碼。

接下來,我將會向讀者介紹一些常用的恢復MySQL密碼的方法:

方法一:使用root使用者修改密碼

如果您具有root權限,可以使用下列步驟來修改密碼:

1.以root身分登入MySQL伺服器

mysql -u root -p

2.輸入root使用者密碼

3.進入MySQL命令列

4.進入mysql命令列後,使用以下命令來修改root用戶密碼:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

#請將「new_password」替換為您要設定的新密碼,並確保在MySQL命令列的末端新增分號;

5.退出MySQL,使用新密碼重新登入

在使用MySQL時,root使用者俱有最高的權限,因此如果您知道root使用者的密碼,那麼修改MySQL的密碼就變得非常簡單了。

方法二:重設MySQL密碼

如果您無法透過root使用者來修改密碼,或者根本不知道root密碼,那麼重設MySQL密碼可能是您的最佳選擇。以下是兩種常用的重設MySQL密碼的方法:

方法1:使用skip-grant-tables重設MySQL密碼

這種方法將跳過MySQL的使用者認證過程,並允許您無需提供密碼就可以登入MySQL。以下是具體步驟:

1.停止MySQL服務

sudo systemctl stop mysql

2.執行以下指令以跳過MySQL的使用者認證流程:

sudo mysqld_safe --skip-grant-tables &

3.以root身分登入MySQL伺服器

mysql -u root

4.在進入MySQL命令列後,使用以下命令來修改密碼:

mysql> UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';

請將「new_password」替換為您要設定的新密碼,並確保在MySQL命令列的末尾添加分號;

5.刷新mysql.user表

mysql> FLUSH PRIVILEGES;

6.退出MySQL,並重新啟動MySQL

#sudo systemctl start mysql

7.使用新密碼重新登入MySQL

方法2:使用重設腳本重設MySQL密碼

這個方法需要您以root身分執行腳本,並且需要知道MySQL的資料檔案所在位置。以下是具體步驟:

1.停止MySQL服務

sudo systemctl stop mysql

2.找到MySQL的資料檔

MySQL預設將資料檔案儲存在/var/lib/mysql目錄下。執行下列指令可以找到資料檔案的確切位置:

sudo find / -name "*.frm"

3.建立重設腳本

請使用以下指令將以下程式碼儲存到resetmysql.sh檔案中:

#!/bin/bash
/usr/sbin/mysqld --skip-grant-tables --skip-networking  &
sleep 5s

mysql -u root <<EOF
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;
EOF

killall mysqld
sleep 5s
/usr/sbin/mysqld --skip-networking &

請將「new_password」替換為您要設定的新密碼。

4.執行腳本重設MySQL密碼

使用下列指令以root權限執行重設腳本:

##sudo bash resetmysql.sh

5.啟動MySQL

sudo systemctl start mysql

6.用新密碼重新登入MySQL

到這裡,讀者應該已經知道以下兩種解決MySQL密碼忘記的方法了:使用root使用者修改密碼,使用重設MySQL密碼腳本重設密碼。

結論:

當我們用MySQL當資料庫時,忘記密碼是常見的問題。本文介紹了兩種可行的方案來解決MySQL忘記密碼的情況。如果您是無MySQL使用經驗的用戶,切勿隨意修改MySQL的設定檔。如果您對上文介紹的方法不是很熟悉,請諮詢專業人士來協助解決相關的問題。

以上是mysql 密碼忘記了的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn