记录采用myisamchk和mysqlcheck修复损坏的MySQL数据库

我们在使用数据库中,其中 MYSQL数据库应该是使用频率比较多的,毕竟提供的文档和场景比较多。但是也有出现数据库损坏的问题,这里我们可以利用myisamchk和mysqlcheck修复损坏的MySQL数据库。

比如我们的网站目录中的数据库有问题,我们可以通过命令修复数据库目录。但是在修复数据库之前需要备份。

找到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 start

myisamchk 会自动检查并修复数据表中的索引错误。

mysqlcheck修复工具

使用 mysqlcheck 无需停止 MySQL ,可以进行热修复。操作步骤如下:

# mysqlcheck -r discuz.*

# service mysql stop (停止 MySQL );

# myisamchk -r /数据库文件的绝对路径/*MYI

# service mysql start

myisamchk 会自动检查并修复数据表中的索引错误。

需要注意的问题:无论是 myisamchk 还是 mysqlcheck ,一般情况下不要使用 -f 强制修复,-f 参数会在遇到一般修复无法成功的时候删除部分出错数据以尝试修复。

本文出处:老蒋部落 » 记录采用myisamchk和mysqlcheck修复损坏的MySQL数据库 | 欢迎分享( 公众号:老蒋朋友圈 )

公众号 「老蒋朋友圈」获取站长新知 / 加QQ群 【1012423279】获取商家优惠推送