今天將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