前言

今早在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数据了

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

Logo

更多推荐