萬盛學電腦網

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

MySQL 修改 root 密碼四大標準方法:mysqladmin、SET PASSWORD、UPDATE user、緊急重置

方法一:mysqladmin 命令列(腳本自動化首選)

# 首次設定(預設空密碼)
mysqladmin -u root password 'NewPass123!'

# 已有密碼修改
mysqladmin -u root -p'OldPass' password 'NewPass123!'

注意:-p 後緊接舊密碼無空格,password 後有空格再接新密碼。

方法二:SET PASSWORD 指令(需登入後執行)

mysql -u root -p
-- MySQL 5.7
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewPass123!');

-- MySQL 8.0
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';

方法三:直接 UPDATE mysql.user 表(通用)

mysql -u root -p
USE mysql;
-- 5.7
UPDATE user SET authentication_string = PASSWORD('NewPass123!') WHERE User = 'root';
-- 8.0
UPDATE user SET authentication_string = '' WHERE User = 'root';  -- 先清空
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
FLUSH PRIVILEGES;

方法四:緊急重置(完全忘記密碼)

# 1. 停止服務
systemctl stop mysqld

# 2. 跳過權限啟動
mysqld_safe --skip-grant-tables --skip-networking &

# 3. 免密登入
mysql -u root

# 4. 修改密碼
-- 5.7
UPDATE mysql.user SET authentication_string = PASSWORD('NewPass123!') WHERE User='root';
FLUSH PRIVILEGES;
-- 8.0
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
FLUSH PRIVILEGES;

# 5. 正常重啟
mysqladmin -u root -p'NewPass123!' shutdown
systemctl start mysqld

phpMyAdmin 介面修改

  1. root 登入 → 右側「使用者帳號」→ root@localhost → 「編輯權限」→ 「變更密碼」
  2. 輸入新密碼 → 執行
  3. 必須同步更新 config.inc.php:$cfg['Servers'][$i]['password'] = 'NewPass123!';

事後檢查清單

  • 所有應用配置檔更新新密碼
  • 備份腳本/監控腳本更新密碼
  • 驗證主從複寫連線正常(從庫 CHANGE MASTER TO 密碼)
  • 密碼策略符合 validate_password 要求
copyright © 萬盛學電腦網 all rights reserved