0
点赞
收藏
分享

微信扫一扫

mysqlcheck与myisamchk的区别

绣文字 2022-04-06 阅读 28


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有三种使用模式,​取决于用户如何调用它:

1.mysqlcheck默认的第一个参数是数据库名:


1



​> mysqlcheck testdb​


第一个参数后面的参数被认为是数据库中对应的表:


1



​> mysqlcheck testdb table1 table2​


2.也可以使用参数--databases(-B)指定多个数据库:


1



​> mysqlcheck --databases db1 db2 db3​


3.检查所有的数据库:


1



​> mysqlcheck --all-databases​



myisamchk默认是检查表

1.检查表(也可以使用索引文件)


1

2



​> myisamchk table1​

​> myisamchk table1.MYI​


2.修复表


1



​> myisamchk -recover table1​



举报

相关推荐

0 条评论