3522vip-澳门新葡亰平台官网-www.3522vip.com

3522vip☞(www.rivieraquest.com)能够为大家带来真正的真钱享受,澳门新葡亰平台官网开创业内先河,注册,开户,登录开始体验不同的娱乐世界,全国第一家以娱乐产品为主体对象的专业平台,菲律宾全资子公司成立,天天免费68周周再送168。

3522vip > 网络数据库 > Linux系统下mysqlcheck修复数据库命令(详解),linux

原标题:Linux系统下mysqlcheck修复数据库命令(详解),linux

浏览次数:133 时间:2019-12-28

一.概述

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

    3522vip 2

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

  1.2 修复表(repair)

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

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

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

    3522vip 4
  1.4 优化表(optimize)

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

    3522vip 5

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

原文网址:

Linux系统下mysqlcheck修复数据库命令(详解),linuxmysqlcheck

mysqlcheck客户端工具可以检查和修复MyISAM表,还可以优化和分析表。

实际上,它集成了mysql工具中check、repair、analyze、optimize的功能、

有3种方式来调用mysqlcheck:

shell> mysqlcheck[options] db_name [tables]

shell> mysqlcheck[options] ---database DB1 [DB2 DB3...]

shell> mysqlcheck[options] --all--database

如果没有指定任何表或使用---database或--all--database选项,

则检查整个数据库。

option中有以下常用选项:

-c, --check (检查表);

-r, --repair(修复表);

-a, --analyze (分析表);

-o, --optimize(优化表); //其中,默认选项是-c(检查表)

例子:

检查表(check);

mysqlcheck -u root -c test

修复表(repair);

mysqlcheck -u root -r test

修复指定的数据库用

# mysqlcheck -A -o -r Database_NAME -p

检查修复所有的数据库(表;

# mysqlcheck -u root -A -0 -r -p

3522vip,每天定时自动优化MySQL数据库

crontab -e     //把它加入 cron job 每天在 01:00 自动执行

0 1 * * * mysqlcheck -Aao –auto-repair -u你的用户名 -p你的密码 > /dev/null 2>&1

以上这篇Linux系统下mysqlcheck修复数据库命令(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持帮客之家。

mysqlcheck客户端工具可以检查和修复MyISAM表,还可以优化和分析表。 实际上,它集成...

以下的例子都是基于 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 (, 多谢。

本文由3522vip发布于网络数据库,转载请注明出处:Linux系统下mysqlcheck修复数据库命令(详解),linux

关键词: 3522vip

上一篇:查询当前数据库存在某个字符串的存储过程

下一篇:没有了