MySQL是一個廣泛使用的關聯式資料庫管理系統,它是一個重要的開源軟體。而在使用MySQL時,我們常常需要使用root帳號登入MySQL,但是,如果你忘記了root帳號的密碼,該怎麼辦呢?
本文將介紹一些常見的解決方案,讓你能夠快速回覆 root 帳號的存取權。
方案一:使用mysqladmin指令
mysqladmin是MySQL自帶的命令列工具,你可以用它來修改root密碼,具體操作方法如下:
#開啟終端,輸入以下指令:
sudo systemctl stop mysql
這個指令將關閉MySQL。之所以先關閉MySQL,是為了方便接下來修改密碼。
輸入以下指令啟用無密碼登入:
sudo mysqld_safe --skip-grant-tables &
這個指令將開啟MySQL的臨時權限,你可以暫時無需密碼的存取MySQL 資料庫。
輸入以下指令連接到 MySQL 資料庫:
mysql -uroot
輸入完這個指令之後,你會進入到命令列模式。
修改root密碼:
use mysql;
update user set authentication_string=password('123456') where user='root';
這個指令將資料庫中root的密碼改為“123456”,你也可以將這個密碼替換成你想要設定的密碼。
退出MySQL 命令列模式:
quit
重新啟動MySQL:
sudo systemctl start mysql
用修改後的密碼登入:
mysql -u root -p
這個指令會要求你輸入新密碼登入MySQL。
方案二:使用init腳本
這個方案需要你擁有root權限。你可以使用Linux的init腳本,來重新啟動MySQL並載入 SQL 腳本,以達到修改root密碼的目的。
操作步驟如下:
停止MySQL 服務:
sudo /etc/init.d/mysql stop
#建立包含SQL 指令的檔案:
sudo nano /var/mysql-init
這個指令將在/var 目錄下建立一個mysql-init 文件,並讓你使用nano 編輯器,輸入以下內容:
UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='root';
FLUSH PRIVILEGES;
上面的指令將會root 的密碼更改為「123456」。
啟用MySQL 服務:
sudo /etc/init.d/mysql start
在MySQL 開始啟動時,它會自動執行SQL命令檔案中的命令,以修改root 密碼。
清理出錯訊息:
sudo rm /var/mysql-init
如果你忘記root密碼,就使用這兩個方案中的任一個,都可以讓你重新取得存取MySQL 的權限。不過,使用方案一比較推薦,因為它更簡單易懂,並且對 MySQL 的正常運作並無負面影響。
當然,為避免忘記密碼,你應該建立一個更好的密碼管理策略,例如使用密碼管理工具儲存你的 MySQL 密碼,或定期修改密碼以提高安全性。
以上是linux上mysql root密碼忘記了怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!