首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 忘記 root 密碼的四種重置方法總覽

     編輯:MySQL 資料庫相關知識

方法一:--skip-grant-tables 啟動修改(標準做法)

  1. 停止 MySQL:killall -TERM mysqld 或 systemctl stop mysqld
  2. 跳過權限啟動:mysqld_safe --skip-grant-tables &
  3. 空密碼登入:mysql -u root
  4. 修改密碼:
    UPDATE mysql.user SET authentication_string=PASSWORD('新密碼') WHERE User='root';
    FLUSH PRIVILEGES;
    QUIT;
  5. 重啟 MySQL 正常模式

方法二:修改設定檔 my.cnf / my.ini

  1. 編輯 [mysqld] 區段加入 skip-grant-tables
  2. 重啟服務
  3. 無密碼登入執行修改密碼 SQL(同方法一步驟 4)
  4. 移除 skip-grant-tables,重啟服務

方法三:INSERT 建立新超級用戶(臨時方案)

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

建立用戶 jeffrey 密碼 biscuit,擁有完整權限。事後請刪除或降權。

方法四:mysqladmin 指令修改(需知舊密碼)

mysqladmin -u root -p password 'newpass'

輸入舊密碼後即可更新。若無法連線 MySQL 則無效,且無法清空密碼。

版本差異提醒

MySQL 版本密碼欄位名PASSWORD() 函數
5.6 及之前Password支援
5.7 / 8.0authentication_string5.7 支援,8.0 已移除,改用 ALTER USER

MySQL 8.0 正確修改語法

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';
FLUSH PRIVILEGES;
⚠ 安全提醒: 重置密碼後,請檢查是否有匿名用戶、root 遠端登入、測試資料庫等安全隱患,執行 mysql_secure_installation 強化設定。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved