ERROR 1577 (HY000): Cannot proceed because system tables used by Event Scheduler were found damaged at server start
升級 MySQL 至 5.1.31 後,Navicat 操作報錯。原因:**系統表結構未隨版本升級**,Event Scheduler 相關表缺失字段/索引。
MySQL 發布包含 mysql_fix_privilege_tables.sql,執行內容:
Event_priv, Trigger_priv)。# 1. 確認安裝路徑(示例) # C:\Program Files\MySQL\MySQL Server 5.1 # 2. 以管理員身份打開 CMD,進入 bin 目錄 cd "C:\Program Files\MySQL\MySQL Server 5.1\bin" # 3. 登入 mysql 客戶端(需 root 密碼) mysql -u root -p mysql # 4. 執行修復腳本(路徑用正斜槓) SOURCE C:/Program Files/MySQL/MySQL Server 5.1/share/mysql_fix_privilege_tables.sql; # 5. 過程中可能出現 WARNING/ERROR(如列已存在),忽略繼續 # 6. 退出客戶端,重啟 MySQL 服務 net stop mysql && net start mysql
# 1. 確保服務運行中 systemctl status mysqld # 2. 執行自帶修復腳本(會自動連接本地 root) mysql_fix_privilege_tables --password=RootPass123! # 或手動執行 SQL mysql -u root -p mysql < /usr/share/mysql/mysql_fix_privilege_tables.sql # 3. 重啟服務 systemctl restart mysqld
-- 1. 檢查 event 表是否存在 SHOW TABLES FROM mysql LIKE 'event'; -- 2. 檢查 user 表新權限列 SHOW COLUMNS FROM mysql.user LIKE '%_priv'; -- 3. 測試 Event Scheduler SET GLOBAL event_scheduler = ON; CREATE EVENT test_evt ON SCHEDULE EVERY 1 MINUTE DO SELECT 1; SHOW EVENTS;
mysqldump --single-transaction --master-data=2 --all-databases)。mysql_upgrade(5.5+ 內建,自動調用 fix 腳本 + 統計信息更新 + 表檢查)。mysqlcheck --all-databases --fast、應用煙霧測試。ERROR 1577 典型**版本升級後系統表未同步**。Windows 手動 SOURCE fix.sql,Linux 執行 mysql_fix_privilege_tables 或 **統一使用 mysql_upgrade**。將「升級後必跑 mysql_upgrade」寫入運維 SOP,徹底杜絕此類問題。