当前位置:首页 > 未命名 > 正文内容

mysql repair table

程序猿6年前 (2018-08-28)未命名983

现象:

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修复失败是不可逆的。

扫描二维码手机访问。版权声明:本文由橘万家版权所有,严禁转载复制。

本文链接:https://tech.juhome.net/article/12.html

标签: mysql

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。