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

MySQL 忘記 root 密碼找回標準流程:skip-grant-tables 臨時繞過權限

     編輯:MySQL 綜合教學

遺失 root 密碼時,透過 --skip-grant-tables 啟動暫停權限驗證,更新 mysql.user 表重設密碼,6 步驟標準化流程。

操作步驟

  1. 終止所有 MySQL 進程:killall -TERM mysqld
  2. 啟動跳過授權表模式:/usr/bin/mysqld_safe --skip-grant-tables &
  3. 無密碼登入更新密碼:
    mysql -h localhost -u root
    USE mysql;
    UPDATE user SET password=PASSWORD('newpassword') WHERE user='root';
    FLUSH PRIVILEGES;
    EXIT;

    注意:MySQL 5.7+ 欄位為 authentication_string。

  4. 關閉臨時實例:
    mysqladmin -u root -p shutdown
    # 輸入新密碼
  5. 正常啟動 MySQL:/usr/bin/mysqld_safe --user=mysql &
  6. 驗證新密碼:mysql -u root -p'newpassword'

關鍵提醒

  • --skip-grant-tables 期間**全網無密碼可入**,務必在內網/維護窗口操作
  • 更新密碼後**必須** FLUSH PRIVILEGES 刷新權限快取
  • MySQL 8.0 建議:ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpwd';

標準流程 5 分鐘內完成,找回 root 控制權。

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