Navicat导出SQL数据报错1577,Cannot proceed because system tables used by Event Scheduler where found damage

    技术2022-07-13  80

    前言

    今早在win10用Navicat导出云服务器MySQL数据SQL文件时,Navicat报错1577

    Cannot proceed because system tables used by Event Scheduler where found damaged at server start

    操作系统:centos7

    MySQL版本:5.7.28

    报错原因

    因为数据库的表的版本与数据库版本不符合。因为从mysql5.1版本开始,系统表的结构进行了很大的调整,必须要进行升级系统表结构才能正常使用。

    解决方法:

    运行MySQL安装bin目录下的mysql_upgrade

    我之前是用yum安装的MySQL,所以安装目录在/www/server/mysql/

    如果是用源码安装的话,目录应该在/usr/local/mysql/

    如果找不到mysql_upgrade的话,建议用find命令查找咯

    find / -name “mysql_upgrade”

    运行命令:

    /www/server/mysql/bin/mysql_upgrade -uroot -p

    输入密码即可

    运行后可能会报错如下(如果没报错请忽略):

    Checking if update is needed.

    Checking server version.

    Error: Server version (5.7.28-log) does not match with the version of

    the server (5.7.27) with which this program was built/distributed. You can

    use --skip-version-check to skip this check.

    问题不大,提示说加一个参数就好了 --skip-version-check

    命令如下:

    /www/server/mysql/bin/mysql_upgrade -uroot -p --skip-version-check

    执行完,重启数据库

    systemctl restart mysqld

    这样就解决问题了?

    还没有,因为执行完了之后,数据库密码重置了

    你会发现你的本地数据库也连不上去了,用原来的密码也用不了。

    问题不大

    找到你的MySQL配置文件/etc/my.cnf

    然后修改里面password=your password

    再次重启数据库,然后你就可以用baiyu这个密码连入你的MySQL了,接着修改你的密码。

    最后你就可以发现Navicat又可以导出SQL数据了

    解决问题,皆大欢喜~~~

    Processed: 0.009, SQL: 9