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

MySQL 5.7 忘記 root 密碼/拒絕訪問解決方案:skip-grant-tables 免密重置全流程

     編輯:MySQL 綜合教學

MySQL 5.7 Windows 環境下 root 密碼重置圖文教程

首次安裝 MySQL 5.7 後無法登錄、或忘記 root 密碼,通過 skip-grant-tables 跳過權限表驗證,免密進入修改密碼。

現象

  • mysql -u root -p 直接回車報 Access denied for user 'odbc@localhost'
  • 進入後 UPDATE user SET password=... 報 Unknown column 'password'(5.7 密碼列改名)

標準重置流程

  1. 停止服務:
    net stop mysql
  2. 啟動跳過權限模式(新開一個 CMD 窗口保持運行):
    mysqld --console --skip-grant-tables
  3. 另開 CMD 免密登錄:
    mysql
  4. 修改密碼(5.7 語法):
    USE mysql;
    UPDATE user SET authentication_string=PASSWORD('123456') WHERE User='root';
    FLUSH PRIVILEGES;
    EXIT;
  5. 關閉 --skip-grant-tables 窗口,正常啟動服務:
    net start mysql
  6. 新密碼登錄並再次修改(刷新權限):
    mysql -u root -p123456
    SET PASSWORD = PASSWORD('123456');

關鍵點提示

  • MySQL 5.7 密碼列為 authentication_string,非舊版 password
  • --skip-grant-tables 需在獨立窗口持續運行,關閉即失效
  • 修改後必須 FLUSH PRIVILEGES 生效
  • 生產環境建議使用強密碼策略 validate_password 插件

經驗總結

「好記性不如爛筆頭」,每次遇到都要現查文檔。記錄標準流程,下次直達方案,避免反覆踩坑。

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