比如我们的网站目录中的数据库有问题,我们可以通过命令修复数据库目录。但是在修复数据库之前需要备份。
找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:
myisamchk -c -r ../data/dedecmsv4/dede_archives.MYI然后myisamchk 工具会帮助你恢复数据表的索引。重新启动mysql,问题解决。
那么,修复mysql数据库一般可以myisamchk工具或者mysqlcheck工具用这二种方法:
**myisamchk修复工具**
使用 myisamchk 必须暂时停止 MySQL 服务器。例如,我们要检修 discuz 数据库。执行以下操作:
# service mysql stop (停止 MySQL );
# myisamchk -r /数据库文件的绝对路径/*MYI
# service mysql startmyisamchk 会自动检查并修复数据表中的索引错误。
**mysqlcheck修复工具**
使用 mysqlcheck 无需停止 MySQL ,可以进行热修复。操作步骤如下:
# mysqlcheck -r discuz.*
# service mysql stop (停止 MySQL );
# myisamchk -r /数据库文件的绝对路径/*MYI
# service mysql startmyisamchk 会自动检查并修复数据表中的索引错误。
需要注意的问题:无论是 myisamchk 还是 mysqlcheck ,一般情况下不要使用 -f 强制修复,-f 参数会在遇到一般修复无法成功的时候删除部分出错数据以尝试修复。