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

忘記 MySQL Root 密碼?skip-grant-tables 免重裝快速重置指南

     編輯:MySQL 綜合教學

忘記 MySQL Root 密碼?skip-grant-tables 免重裝快速重置指南

遺忘 Root 密碼是常見運維場景。利用 skip-grant-tables 跳過權限驗證,即可免密登入重置密碼,**無需重裝資料庫**。

四步驟完成密碼重置

1. 編輯配置檔啟用跳過權限

環境配置檔路徑
Windows%MySQL安裝目錄%\my.ini
Linux/etc/my.cnf

在 [mysqld] 區段加入:

skip-grant-tables

儲存退出。

2. 重啟 MySQL 服務

環境指令
Windowsnet stop mysql && net start mysql
Linux/etc/init.d/mysqld restart 或 systemctl restart mysqld

3. 免密登入並更新密碼

mysql -uroot -p mysql
# 直接按 Enter 跳過密碼

# 更新密碼(範例設為 123456,請自行修改強密碼)
UPDATE user SET password=PASSWORD('123456') WHERE user='root';
FLUSH PRIVILEGES;
QUIT;
注意: MySQL 5.7+ user 表無 password 欄位,改用 authentication_string:
UPDATE user SET authentication_string=PASSWORD('123456') WHERE user='root';

4. 還原配置並重啟驗證

  1. 刪除配置檔中的 skip-grant-tables 行
  2. 重啟 MySQL 服務
  3. 用新密碼登入驗證:mysql -uroot -p'123456'

操作流程速記版

  1. Kill 現有 mysqld 進程
  2. 啟動參數加 --skip-grant-tables
  3. 免密登入 UPDATE user SET ...
  4. 關閉 MySQL
  5. 移除參數正常啟動
安全提醒: skip-grant-tables 期間**任何人可免密以 root 身份登入**,請在內網安全環境下操作,完成後**立即移除參數並重啟**。生產環境建議配合防火牆限制 3306 連接源。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved