欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Mysql ERROR 1577错误解决方法

程序员文章站 2024-03-31 16:22:58
今天将mysql升级到了5.1.31,用navicat打开数据库添加数据,出现了1577错误,提示信息: 复制代码 代码如下:error 1577 (hy000): ca...

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