您的位置:澳门新葡8455最新网站 > 数据库管理 > 何以利用Mysqlcheck来检查和修复,开采进阶篇种类

何以利用Mysqlcheck来检查和修复,开采进阶篇种类

发布时间:2019-12-31 04:26编辑:数据库管理浏览(88)

    一.概述

             mysqlcheck顾客端工具得以检查和修复MyISAM表,仍可以优化和剖判表。实际上,它集成了mysql工具中check,repair,analyze,optimize功效,对于check 则不扶植MEMO大切诺基Y表, 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
    ...
    

    使用 mysqlcheck 分析表

    $ mysqlcheck -a radius payment_transactionrecord  -uroot -p
    Enter password:
    radius.payment_transactionrecord                   Table is already up to date
    

    地点的指令 用来深入分析 radius 库的 payment_transactionrecord表, -a 表示 analyze

    使用 mysqlcheck 优化表

    # mysqlcheck -o radius payment_transactionrecord  -uroot -p
    Enter password:
    radius.payment_transactionrecord                   OK
    

    -o 代表 optimize ,这里是优化 radius 库的 payment_transactionrecord 表

    使用 mysqlcheck 修复表

    # mysqlcheck -r radius payment_transactionrecord  -uroot -p
    Enter password:
    radius.payment_transactionrecord                   OK
    

    -r澳门新葡萄京娱乐场, 代表 repair ,这里是 修复 radius 库的 payment_transactionrecord 表

    自己研商,优化,修复表组合命令

    # mysqlcheck -uroot -p --auto-repair -c -o newmandela
    Error:  mysqlcheck doesn't support multiple contradicting commands.
    

    地方的通令报错了,去掉 -c

    # mysqlcheck -uroot -p --auto-repair -o newmandela
    Enter password:
    newmandela.account
    note     : Table does not support optimize, doing recreate + analyze instead
    status   : OK
    newmandela.alarm
    note     : Table does not support optimize, doing recreate + analyze instead
    status   : OK
    newmandela.alarm_settings
    note     : Table does not support optimize, doing recreate + analyze instead
    status   : OK
    

    每张表都冒出了 Table does not support optimize, doing recreate + analyze instead, 代表如何看头啊? 它的意思不是说 innodb 引擎不帮忙优化,能够仿效  的回答。

    mysqlcheck 常用选项

    • A, –all-databases 表示全数库
    • -a, –analyze 分析表
    • -o, –optimize 优化表
    • -r, –repair 修复表错误
    • -c, –check 检查表是或不是出错
    • –auto-repair 自动修复损坏的表
    • -B, –databases 选取七个库
    • -1, –all-in-1 Use one query per database with tables listed in a comma separated way
    • -C, –check-only-changed 检查表最终一回检查过后的转移
    • -g, –check-upgrade Check for version dependent changes in the tables
    • -F, –fast Check tables that are not closed properly
    • –fix-db-names Fix DB names
    • –fix-table-names Fix table names
    • -f, –force Continue even when there is an error
    • -e, –extended Perform extended check on a table. This will take a long time to execute.
    • -m, –medium-check Faster than extended check option, but does most checks
    • -q, –quick Faster than medium check option

    版权表明:本文为orangleliu (, 多谢。

    本文由澳门新葡8455最新网站发布于数据库管理,转载请注明出处:何以利用Mysqlcheck来检查和修复,开采进阶篇种类

    关键词:

上一篇:没有了

下一篇:mysql常用命令