MySQL数据表损坏,如果是独立服务器请先备分好数据表,因为修复是存在风险的。如果感觉一个数据表读取非常慢,那也是数据表索引坏了。
►方法1:用repair命令来修复数据,这种需要mysql开启的时候修复,在phpmyadmin里面和phpwind后台都有选项可以修复,当然用命令行也可以的。
这里把修复和优化都用了看看。然后再看看数据表有没好。
►方法2:mysqlcheck命令来修复整个数据库,需要mysql服务开启,否则执行不了的。
使用方法:在命令行进入mysql5/bin的目录,执行语句
D:/mysql5/bin>mysqlcheck.exe -r -uroot -p password 数据库名
注意点:使用起来不是很方便,如果表的索引出现问题,用repair是没用的,属于浅显修复。而且耗时较长,如果数据库比较大,那不堪设想。如果不确定哪个数据表出问题了,可以使用这个命令修复。
►方法3(推荐):myisamchk来重建表索引
使用方法:在命令行进入mysql5/bin的目录,执行语句
D:/mysql5/bin>myisamchk -r d:/mysql5/data/数据库名/表名.MYI
注意点:
1.
务必关闭mysql服务再执行,不然... 2.这个命令是针对单个数据表来执行的,看到表名.MYI了没?
3.有种特殊情况,比如mysql是装在D:/Program Files/mysql5下的,这样Program Files目录不好输入了。这时可以使用如下命令:myisamchk -r ../data/数据库名/表名(即相对路径)
4.执行这个命令成功重建索引后如果仍有问题,建议执行repair一下该表。