Linux 下若未使用 PASSWORD() 函數直接修改 MySQL root 密碼,會導致 mysql 系統資料庫消失,無法正常登入。此時可透過 skip-grant-tables 跳過權限驗證,重設密碼後恢復正常。

my.cnf(或 my.ini),在 [mysqld] 區段新增:skip-grant-tablesmysql -u rootUPDATE user SET password=PASSWORD('root') WHERE user='root';FLUSH PRIVILEGES;skip-grant-tables,重啟服務。教訓:日後修改 root 密碼務必使用 PASSWORD() 函數,避免資料庫元資料損毀。