由于需要配合Eclipse调试,所以把之前使用自己配置的服务器环境改为了XAMPP组件,数据库我没有导入导出,而是直接把数据库文件复制过去了,于是乎出现了下面的问题。
不过当使用Navicat连接上MySQL后,无论打开任何一个数据库,都会提示:1577 - Cannot proceed because system tables used by Event Scheduler where found damaged at server start,按照提示的说法是系统表损坏,但没有理由全部都损坏吧。
于是上网查些相关信息,但比较失望,没有实际的解决方案。经过一番折腾,在MySQL中文手册里发现一些信息,原来是从MySQL5.1版本开始,系统表的结构进行了很大的调整,必须要进行升级系统表结构才能正常使用,而我原来的数据库是5.02的,问题就出在这里了……
然后在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程序升级更新系统表以解决问题。我使用XAMPP的是1.7.1 Beta5,选择使用的是MySQL 5.1.33版本。
操作方法简述:
开始->运行->输入cmd回车,在操作提示符下输入 D:xamppmysqlbinmysql_upgrade -u root -p 然后回车,并输入你的MySQL密码并回车,待运行完之后关闭DOS窗口。(根据你自己安装的路径自行调整)
重新打开Navicat,这个时候你发现原来的提示框没有了。