图片 5

mysql 开发进阶篇系列 34 工具篇 mysqlcheck(MyISAM表维护工具)

Posted by

一.概述

        
mysqlcheck客户端工具可以检查和修复MyISAM表,还可以优化和分析表。实际上,它集成了mysql工具中check,repair,analyze,optimize功能,对于check
则不支持MEMORY表, repair 则不支持
InnoDB表。mysqlcheck只有在数据库运行的状态下才可运行,意味着不用停止服务操作。
  下面是三种调用mysqlcheck方式:
    图片 1

  option中常用以下选项:

-c, –check

检查表

-r, –repair

修复表

-a, –analyze

分析表

-o, –optimize

优化表

  1.1 检查表(check)

[root@hsr data]# pwd
/usr/local/mysql/data
[root@hsr data]# /usr/local/mysql/bin/mysqlcheck -uroot -p -c test

    图片 2

    上面检查到了test库中a表是OK的

  1.2 修复表(repair)

[root@hsr data]# /usr/local/mysql/bin/mysqlcheck -uroot -p -r test

    图片 3
    在test库新建了一个innodb类型的b表,上图显示b表不支持修复。
  1.3 分析表(analyze)

[root@hsr data]# /usr/local/mysql/bin/mysqlcheck -uroot -p -a test

    图片 4
  1.4 优化表(optimize)

[root@hsr data]# /usr/local/mysql/bin/mysqlcheck -uroot -p -o test

    图片 5

mysqlcheck 是 MySQL
自带的一个工具,作用就是保养 表,其实就是检查,分析,修复和优化了。下面来介绍
mysqlcheck
工具的简单使用,官方文档在这里

原文网址:

以下的例子都是基于 MySQL 5.6 版本运行状态下(mysqlcheck是个在线工具),
不同的存储引擎对于这个命令的支持程度不同(指的是 check, repair, analyze,
optimize),下面内容偏于操作,主要基于 innodb 引擎。

提示:OPTIMIZE
在大表时候可能会消耗很多时间,不清楚原理情况下请谨慎使用!!! innodb
一般不用 OPTIMIZE,请参见 Using MySQL OPTIMIZE tables? For InnoDB?
Stop

检查特定的表

注意在shell中执行,不是在mysql的交互环境下

如果应用中提示某个表坏了,使用下面的命令来检查。

$ mysqlcheck -c newmandela order -uroot -p
Enter password:
newmandela.order                                   OK

newmandela 是库名, order是表名,还需要输入用户名和密码

检查一个库中的所有表

$ mysqlcheck -c newmandela -uroot -p
Enter password:
newmandela.account                                 OK
newmandela.alarm                                   OK
newmandela.alarm_settings                          OK
newmandela.auth_group                              OK
newmandela.auth_group_permissions                  OK
newmandela.auth_permission                         OK
...

检查所有库中的所有表

全部的库和表都检查一遍了。

$mysqlcheck -c --all-databases -uroot -p
Enter password:
apmonitor.acinfo                                   OK
apmonitor.apdailysts                               OK
apmonitor.apinfo                                   OK
apmonitor.apmonthsts                               OK
apmonitor.apscanlog                                OK
apmonitor.auth_group                               OK
...

如果只想检查某几个库呢? 可以使用 –databases 参数

$ mysqlcheck -c --databases newmandela radius -uroot -p
Enter password:
newmandela.account                                 OK
newmandela.alarm                                   OK
newmandela.alarm_settings                          OK
newmandela.auth_group                              OK
...

相关文章

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注