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

MySQL 修改 root 密碼的六種方法完整教學

     編輯:PHP 綜合知識

前言

MySQL 密碼管理是資料庫維護基本功。本文彙整六種修改密碼方法,涵蓋 phpMyAdmin、mysqladmin、SQL 指令,並說明各方法適用情境與注意事項。

方法一:phpMyAdmin 圖形介面(最直觀)

  1. 登入 phpMyAdmin,選左側 mysql 資料庫。
  2. 點擊 user 資料表,找到 root 列,點「編輯」。
  3. Password 欄位選 PASSWORD 函數,輸入新密碼。
  4. 執行儲存。

⚠️ 必須使用 PASSWORD() 函數加密,不可直接存明文。

方法二:mysqladmin 命令列工具

# 修改 root 密碼(首次設定或已知舊密碼)
mysqladmin -u root -p password 'new_password'
# 輸入舊密碼後完成

# 修改其他用戶
mysqladmin -u user_name -p password 'new_password'

限制:無法清空密碼(設為空字串);若無法連線伺服器則無法使用。

方法三:INSERT 新增用戶(等同建立帳號)

mysql> INSERT INTO mysql.user (Host, User, Password)
    -> VALUES ('%', 'jeffrey', PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES;

注意:PASSWORD() 加密、FLUSH PRIVILEGES 重載權限。

方法四:REPLACE 覆寫用戶

mysql> REPLACE INTO mysql.user (Host, User, Password)
    -> VALUES ('%', 'jeffrey', PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES;

若用戶存在則更新,不存在則新增。

方法五:SET PASSWORD 指令(推薦,無需 FLUSH)

mysql> SET PASSWORD FOR 'jeffrey'@'%' = PASSWORD('biscuit');

優點:不需 FLUSH PRIVILEGES,語法簡潔。

方法六:GRANT ... IDENTIFIED BY(最彈性,可同時授權)

mysql> GRANT USAGE ON *.* TO 'jeffrey'@'%' IDENTIFIED BY 'biscuit';

優點:PASSWORD() 非必需、無需 FLUSH PRIVILEGES,可同時設定權限。

重要提醒

  • PASSWORD() 加密演算法非 Unix crypt,不可互通。
  • MySQL 5.7+ PASSWORD() 已棄用,建議使用 ALTER USER:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
  • 修改 root 密碼後,記得更新應用程式設定檔(如 Laravel .env、WordPress wp-config.php)。
  • 若忘記 root 密碼,需以 --skip-grant-tables 啟動 MySQL 重置。

總結

日常管理推薦 方法五 SET PASSWORD 或 方法六 GRANT;圖形介面用 phpMyAdmin;自動化腳本用 mysqladmin。MySQL 8.0+ 建議改用 ALTER USER 語法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved