今天将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
您可能感兴趣的文章:MySql 安装时的1045错误Mysql安装 Navicat 出现1044/1045错误的解决方法mysql-5.5.28源码安装过程中错误总结CodeIgniter错误mysql_connect(): No such file or directory解决方法Mysql错误1366 - Incorrect integer value解决方法MySQL错误ERROR 2002 (HY000): Can''t connect to local MySQL server through socketMySQL ERROR 2013 (HY000)错误解决方法mysql中You can’t specify target table for update in FROM clause错误解决方法安装Mysql时出现错误及解决办法