mysql repair table
现象:
is marked as crashed and should be repaired,这时候需要repair table;
3种用法的不同区别:
1,REPAIR TABLE SQL statement(mysql服务必须处于运行状态)。
2,命令mysqlcheck(mysql服务可以处于运行状态)。
3,命令myisamchk(必须停掉mysql服务,或者所操作的表处于不活动状态)。
repair、myisamchk的用法:
连上mysql:repair table tablename
myisamchk -recover table1 //修复表,不带参数检查表,-r
mysqlcheck和myisamchk的不同:
mysqlcheck和myisamchk都可以用来检测和修复表。(主要是MyISAM表)
但是也有以下不同点:
1、都可以检查、分析和修复myisam表。但是mysqlcheck也可以检查、分析innodb表;myisamchk可以enabling、disabling索引
2、mysqlcheck是客户端工具,通过网络与mysql server连接,要求server必须是在线的;myisamchk不是客户端程序,可以直接在myisam表上操作。
3、mysqlcheck是通过mysql server自身对表进行检查和修复;myisamchk要求被检测表是没有被打开、或未被使用,如果myisamchk和mysql server同时对表操作,可能导致表被损坏。
mysqlcheck的功能类似myisamchk,但其工作不同。主要差别是当mysqld服务器在运行时必须使用mysqlcheck,而myisamchk应用于服务器没有运行时。使用mysqlcheck的好处是不需要停止服务器来检查或修复表。使用myisamchk修复失败是不可逆的。
扫描二维码手机访问。版权声明:本文由橘万家版权所有,严禁转载复制。