一直以来,喜欢在win7下构建php服务器,当然我是用作本地测试,可是不论win7重装了几次,mysql总是隔三差五地出问题,以前都是重装mysql解决问题。今天又出现这个问题,我已经忍无可忍了。百度上有很多解决方法,大致雷同,但是很多人依旧无法解决错误1067,后来逼不得已去mysql官网求解。顺道说说mysql的论坛真恶心,回复内容都收缩在一起。官方人员的某个回答很具有参考价值:请贴出data目录下的错误文档。(原文不是这样的,翻译了下)看错误文档发现一个问题:

100306 10:06:33 [Note] F:\WEB\MySQL\bin\mysqld-nt: ready for connections.
Version: ’5.0.22-community-nt’ socket: ” port: 3306 MySQL Community Edition (GPL)
100307 1:29:39 [Note] F:\WEB\MySQL\bin\mysqld-nt: Normal shutdown

100307 1:29:39 [Note] F:\WEB\MySQL\bin\mysqld-nt: Shutdown complete

100307 11:14:01 [ERROR] Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist
100307 13:07:29 [ERROR] Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist
100307 16:57:50 [ERROR] Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist

前面一些都是正常启动和关闭的信息,后面启动的项却是严重错误,翻译过来就是mysql数据库下有host这个表丢失了。想到这里果不其然,我的习惯很好,不喜欢有这么多杂乱的表,所以每次在导入数据库都会把这些数据表全部删除。

所以,只要重新安装mysql,就会自动恢复这些数据表。因此,个人推荐两件事:
1.凡是软件出现错误,先看看错误日志,当然对于站长来说,程序调试和网站访问出错都可以看看错误文档,很有借鉴价值,网上的答案大概统一,技术越是高深,网上的解答就越少,一切还是得靠自己寻找。
2.mysql停止工作后,即使有备份,也很难恢复,只能通过重装mysql来实现。

标签:
本文作者: rocklee
本文链接: Mysql 1067错误 无法启动的解决方法
博主操作: