MySQL Root 密碼遺失,無法正常登入管理資料庫。
%MySQL安裝目录%\my.ini/etc/my.cnf在 [mysqld] 區段新增:
[mysqld] skip-grant-tables
# Windows net stop MySQL net start MySQL # Linux /etc/init.d/mysqld restart # 或 systemctl restart mysqld
mysql -u root -p mysql # 直接按 Enter 跳過密碼輸入
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';
FLUSH PRIVILEGES;
skip-grant-tables 行123456 登入驗證skip-grant-tables 啟動 MySQLskip-grant-tables 並正常啟動skip-grant-tables 期間任何人無需密碼即可完全控制資料庫,請在安全網路環境下操作,並儘快完成重置此方法適用於 MySQL 5.0 至 8.0 所有版本,是 DBA 必備的急救技能之一。