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

一.概述

         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 工具的简单使用,官方文档在这里

原文网址:http://blog.csdn.net/orangleliu/article/details/63275154

以下的例子都是基于 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
...

本文由皇家赌场手机版发布于首页,转载请注明出处:mysql 开发进阶篇系列 34 工具篇 mysqlcheck(MyISAM表维

相关阅读