萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL Root 密碼修改完整指南:六大方法與實操步驟

前言:權限前提說明

修改 MySQL 密碼通常需要 root 權限。一般使用者無法自行變更密碼,需請求資料庫管理員協助。本文整理六種修改密碼的方法,適用於不同場景與版本。

方法一:phpMyAdmin 圖形介面修改(最簡單)

  1. 登入 phpMyAdmin
  2. 選擇 mysql 資料庫
  3. 編輯 user 表中對應使用者的 Password 欄位
  4. 關鍵步驟:函數下拉選單選擇 PASSWORD(),輸入新密碼後執行
  5. 執行 FLUSH PRIVILEGES; 重新載入權限

方法二:mysqladmin 命令列工具

# 修改 root 密碼
mysqladmin -u root -p password 'new_password'
# 輸入原密碼後完成修改

# 修改其他使用者密碼
mysqladmin -u username -p password 'new_password'

限制:無法將密碼設為空值;需確保 mysqladmin 能連線至 MySQL Server。

方法三:INSERT 語句新增使用者(兼具建立帳號)

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

建立使用者 jeffrey,密碼 biscuit,允許任意主機連線(%)。

方法四:REPLACE 語句(避免重複鍵錯誤)

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

若使用者已存在則更新,不存在則插入,比 INSERT 更安全。

方法五:SET PASSWORD 語句(推薦,無需 FLUSH PRIVILEGES)

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

MySQL 5.7.6+ 建議使用 ALTER USER:

ALTER USER 'jeffrey'@'%' IDENTIFIED BY 'biscuit';

方法六:GRANT ... IDENTIFIED BY 語句

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

無需 PASSWORD() 函數,也無需 FLUSH PRIVILEGES。注意:PASSWORD() 加密方式非 Unix 密碼加密標準。

快速修改 Root 密碼範例

USE mysql;
UPDATE user SET Password = PASSWORD('newpassword') WHERE User = 'root';
FLUSH PRIVILEGES;

遺忘 Root 密碼的緊急重置

  1. 停止 MySQL 服務:systemctl stop mysqld
  2. 跳過授權表啟動:mysqld_safe --skip-grant-tables &
  3. 無密碼登入:mysql -u root
  4. 執行更新語句修改密碼
  5. 重啟 MySQL 服務恢復正常模式

版本差異提醒

MySQL 5.7+ 將 Password 欄位改名為 authentication_string,且預設使用 caching_sha2_password 插件。新版本請優先使用 ALTER USER 語法。

copyright © 萬盛學電腦網 all rights reserved