今天尝试使用了Windows下的可视化mysql数据库管理工具Navicat,界面清爽,易操作上手,感觉还不错。
不过当连接上mysql后,无论打开任何一个数据库,都会提示:1577 – Cannot proceed because system tables used by Event Scheduler where found damaged at server start,按照提示的说法是系统表损坏,但没有理由全部都损坏吧。
于是上网查些相关信息,但比较失望,没有实际的解决方案。经过一番折腾,在mysql中文手册里发现一些信息,原来是从mysql5.1版本开始,系统表的结构进行了很大的调整,必须要进行升级系统表结构才能正常使用。
然后在Navicat的官方网站上找到了一段信息:Please try to update your system table and to see if it solves your problem. mysql_upgrade is stored in the “bin” folder under the MySQL server installation path.
意思是在mysql下的bin目录里运行mysql_upgrade程序升级更新系统表以解决问题。我使用的是APMserv5.2.6集成PHP环境搭 建的平台,选择使用的是mysql5.1版本。但在mysql5.1中的bin目录里却并没有发现mysql_upgrade这个文件,看来是 APMserv作者作了相应的精简。
最后只好去mysql官方站下载了对应的zip包,从中提取相应文件后运行,问题得到了解决。
为了大家的方便。我在这里把这两个文件放在网上供大家下载。方便大家使用bin.rar
注意:就是在你升级的时候。最后会报ERROR。这个你不用管。到时一样关了就行。你去你的navicat里面打开数据库。你会发现1577的问题不存在了。
最后总结一下问题解决方法:
1、点击下载mysql_upgrade.exe和mysqlcheck.exe,(点这里下载bin.rar)将两个文件复制到 APMServ5.2.6\MySQL5.1\bin目录下。
2、开始->运行->输入cmd回车,在操作提示符下输入 E:\APMServ5.2.6\MySQL5.1\bin\mysql_upgrade -u root 然后回车,待运行完之后关闭DOS窗口。(将其中的E:\APMserv5.2.6改成你自己实际安装的目录即可)
3、停止APMserv后再重新启动APMserv一次,问题即可解决。