首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Linux 環境下修改 MySQL Root 密碼的四種實用方法

     編輯:MySQL 綜合教學

Linux 環境下修改 MySQL Root 密碼的四種實用方法

在 Linux 系統管理 MySQL 資料庫時,定期變更 root 密碼是維護安全的基本操作。本文整理了四種常見且有效的修改方式,適用於不同場景需求。

方法一:使用 SET PASSWORD 命令(需登入 MySQL)

此為最標準的 SQL 方式,需先以 root 身分登入 MySQL 再執行指令。

mysql -u root -p

登入成功後,執行以下命令即可將密碼設定為新值(例:654321):

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('654321');

說明:MySQL 5.7.6 以降版本建議使用 ALTER USER 語法,但 SET PASSWORD 仍相容。

方法二:使用 mysqladmin 工具(無需進入 MySQL Shell)

適合撰寫自動化腳本或快速單行操作,語法如下:

mysqladmin -u root -p'舊密碼' password '新密碼'

範例:將密碼從 123456 變更為 654321

mysqladmin -uroot -p123456 password "654321"

注意:-p 後直接接舊密碼中間無空格;若舊密碼為空,可省略 -p 參數。

方法三:直接更新 mysql.user 表(需登入 MySQL)

透過 SQL 直接修改系統表,適合批次處理或特殊需求。

mysql -uroot -p

進入後執行:

USE mysql;
UPDATE user SET authentication_string=PASSWORD('654321') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;

補充:MySQL 5.7 之後 password 欄位改名為 authentication_string,舊版本用 password 即可。

方法四:忘記 Root 密碼時的緊急重置(跳過權限驗證)

當完全遺失 root 密碼時,需停止服務並以 --skip-grant-tables 模式啟動。

  1. 停止 MySQL 服務:
    service mysqld stop
  2. 跳過授權啟動:
    mysqld_safe --skip-grant-tables &
  3. 免密登入並修改密碼:
    mysql -u root
    USE mysql;
    UPDATE user SET authentication_string=PASSWORD('654321') WHERE User='root' AND Host='localhost';
    FLUSH PRIVILEGES;
    QUIT;
  4. 重新啟動服務生效:
    service mysqld restart

安全提醒:完成重置後,務必確認 --skip-grant-tables 已移除,避免安全風險。

總結建議

  • 日常維護首選 方法一 或 方法二,操作標準且留有記錄。
  • 腳本自動化部署推薦 方法二。
  • 遺失密碼僅能使用 方法四,操作完畢請立即恢復正常啟動模式。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved