BBS不能打开问题的解决
问题:BBS初始画面可以显示,但是进入后提示不能连接MySQL。
分析:运行HFCASBBS目录下的start.bat发现打开数据库意外终止,提示错误10067。重启mysql服务后依然没有解决。查看Windows的事件管理器,发现MYSQL提示错误:
Fatal error:Can’t open and lock privilege tables:Tables ‘.\mysql\host’ is marked as crashed and last(automatic?)repair failed.
应该是MySQL的数据库崩溃了。
但是数据库都登录不上,不能采用常规方式来修复表。这里采用myisamchk 指令强制修复。
解决:
1. 首先打开数据库目录F:\HFCASBBS\MySQL5\data\mysql,发现host表中多了一个TMD文件,这个文件是修复临时文件。将其删除掉(最好先备份一下)就可以使用指令myisamchk修复数据表。
指令:myisamchk –c –r post.MYI。
注意:
(1) 首先可以使用myisamchk -f *.MYI来显示有哪些表格需要修复。
(2) 多个文件同时修复使用myisamchk -c -r *.MYI,但是用先把TMD文件删除。
2. 修复后重启mysql,发现新问题。
3. 同样是需要修复表,目录是F:\HFCASBBS\MySQL5\data\discuz。
4. 但是用上述方法修复提示我没有权限。没有办法,我重新运行了start.bat。发现就可以修改(这个问题很奇怪)。
5. 删除.TMD文件时,发现连MYD文件也一起消失了。将备份中的MYD文件拷入discuz目录,使用myisamchk -f *.MYI指令修复。问题解决。