今天將Mysql升級到了5.1.31,用Navicat開啟資料庫添加資料,出現了1577錯誤,提示資訊:
複製代碼 代碼如下:
ERROR 1577 (HY000): Cannot proceed because system tables used by Event Scheduler were found damaged at server start。
查看手冊(5.4. mysql_fix_privilege_tables:升級MySQL系統資料表),一些MySQL發布對mysql資料庫中的系統資料表的結構進行了更改,添加了新許可權或特性。當你更新到新版本MySQL,你應同時更新系統資料表,以確保它們的結構最新。首先備份mysql資料庫,然後按照下面的程式操作
解決辦法是:
在Windows系統中,MySQL分發包括mysql_fix_privilege_tables.sqlSQL指令碼,你可以用mysql用戶端來運行。例如,如果MySQL安裝到C:Program FilesMySQLMySQL Server 5.1,命令應為:
複製代碼 代碼如下:
C:>C:Program FilesMySQLMySQL Server 5.1binmysql -u root -p mysqlmysql>SOURCE C:/Program Files/MySQL/MySQL Server 5.1/share/mysql_fix_privilege_tables.sql
如果安裝到其它目錄,相應地更改路徑名。
mysql命令將提示輸入root密碼;按照提示輸入密碼。運行時候不用管出錯資訊,完成退出,重啟Mysql伺服器就可以
linux解決方案,沒有試過,摘錄如下:
在Unix或Unix類系統中,運行mysql_fix_privilege_tables指令碼來更新系統資料表:
複製代碼 代碼如下:
shell>mysql_fix_privilege_tables
你必須在伺服器運行時執行該指令碼。它試圖串連本機上用root啟動並執行伺服器。如果root賬戶要求輸入密碼,在命令列中按下述方法給出密碼:
複製代碼 代碼如下:
shell> mysql_fix_privilege_tables--password=root_password