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

VPS 環境修改 MySQL root 密碼:跳過授權表啟動法

     編輯:MySQL 資料庫相關知識

適用場景

  • 忘記 root 密碼。
  • 全新安裝後預設空密碼需設定。
  • VPS/雲主機無實體控制台,僅 SSH 存取。

Linux 步驟

  1. 停止 MySQL:
    killall -TERM mysqld 或 systemctl stop mysqld
  2. 跳過授權表啟動:
    /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
    (路徑視安裝位置調整,常見 /usr/sbin/mysqld)
  3. 免密登入:
    /usr/local/mysql/bin/mysql -u root -p
    提示密碼直接 Enter。
  4. 修改密碼:
    USE mysql;
    UPDATE user SET authentication_string=PASSWORD('NewPass123!') WHERE User='root';
    FLUSH PRIVILEGES;

    (MySQL 5.7+ 欄位為 authentication_string,5.6 為 password)
  5. 重啟正常模式:
    killall mysqld
    systemctl start mysqld
  6. 驗證:
    mysql -u root -p'NewPass123!' -e "SELECT VERSION()"

Windows 步驟

  1. 停止服務:net stop mysql 或工作管理員結束 mysqld.exe。
  2. 命令列啟動:
    X:\MySQL\bin\mysqld-nt.exe --skip-grant-tables
  3. 新視窗免密登入:
    X:\MySQL\bin\mysql -u root -p(直接 Enter)
  4. 修改密碼(同 Linux SQL)。
  5. 關閉 --skip-grant-tables 進程,net start mysql。

注意事項

  • --skip-grant-tables 期間**任何人可免密以 root 登入**,務必在內網/防火牆保護下操作,完成即關閉。
  • 若有管理面板(寶塔、cPanel、DirectAdmin),**請用面板功能改密**,避免面板配置不同步導致監控失效。
  • MySQL 8.0 密碼修改:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved