mysqlcheck -uroot -ppassword bnbvistaspider -r;
mysqlcheck -uroot -ppassword bnbvistautf8 -r
公司的游戏所在机房意外断电,导致MySQL未正常关闭,使得很多MyISAM表损坏,很多表如果全部修复(数据库很大需要很长的时间)那如果检查整个库在复制命令一个一个修复也浪费时间,最后写个脚本修复数据库。
mysqlcheck -uroot -ppassword bnbvistautf8 -r
公司的游戏所在机房意外断电,导致MySQL未正常关闭,使得很多MyISAM表损坏,很多表如果全部修复(数据库很大需要很长的时间)那如果检查整个库在复制命令一个一个修复也浪费时间,最后写个脚本修复数据库。
mysql 进程在一个写入中被杀死、计算机意外关闭、硬件错误都能造成mysql表损坏 。
mysql 修复表的各种方法
1、mysqlcheck 进行表修复
使用mysqlcheck 命令对表进行修复
#mysqlcheck -uuser -ppassword database table -c #检查单个表是否损坏 #mysqlcheck -uuser -ppassword database -c #检查整个库那些表损坏 |
首先检查数据库的那些表损坏,如果能定位到那张表损坏可以直接对表修复
#mysqlcheck -uuser -ppassword database table -r # 修复数据表 #mysqlcheck -uuser -ppassword database -r # 修复整个数据库 |
更多参数 查看 mysqlcheck –help
2、myisamchk 修复mysql表
Myisamchk是MyISAM表维护的一个非常实用的工具。可以使用myisamchk实用程序来获得有关数据库表的信息或检查、修复、优化他们。myisamchk适用MyISAM表(对应.MYI和.MYD文件的表)。
Myisamchk 选项解释
检查表
[root@nagios test]# myisamchk -e wpusers.MYI Checking MyISAM file: wpusers.MYI Data records: 1 Deleted blocks: 0 - check file-size - check record delete-chain - check key delete-chain - check index reference - check data record references index: 1 - check data record references index: 2 - check data record references index: 3 - check records and index references |
myisanchk修复表
[root@nagios test]# myisamchk -r wpusers.MYI - recovering (with sort) MyISAM-table ‘wpusers.MYI’ Data records: 1 - Fixing index 1 - Fixing index 2 - Fixing index 3 |
3、自动修复mysql 表脚本
这个shell脚本,可以很方便的对多个数据库的表进行检查和修复,操作起来也非常方便,希望对大家有用