mysql的check_mysqlcheck修复工具

mysqlcheck工具可以检查、修复、优化和分析MyISAM引擎的表,实际上是集成了Mysql中的check、repair、analyze、tmpimize的功能。

mysqlcheck共军存在于mysql-community-client包。如果是yum或rpm安装可以使用rpm -qf `which mysqlcheck`查看到:

[root@youxi1 ~]# rpm -qf `which mysqlcheck`

mysql-community-client-5.7.16-1.el7.x86_64

如果是源码安装,应该可以找到/usr/local/mysql/bin/mysqlcheck(?)。

(1).mysqlcheck语法

mysqlcheck [选项] [表名]

mysqlcheck [选项] --databases [数据库名2 数据库名3...]

mysqlcheck [选项] --all-datbases

(2).常用选项

-c,--check 检查表

-r,--repair 修复表

-a,--analyze 分析表

-o,--tmpimize 优化表,默认包含-c选项

-u 以什么mysql用户进行操作

-p 用户的密码

(3).创建实验环境

mysql> create database test_db;

Query OK, 1 row affected (0.00 sec)

mysql> use test_db;

Database changed

mysql> create table user_tb(id int,name varchar(20)) engine=MyISAM;

Query OK, 0 rows affected (0.02 sec)

mysql> insert into user_tb values(1,'张三'),(2,'李四'),(3,'王五'),(4,'赵六');

Query OK, 4 rows affected (0.11 sec)

Records: 4 Duplicates: 0 Warnings: 0

(4).实例

检查指定的表

[root@youxi1 ~]# mysqlcheck -uroot -p123456 -c test_db user_tb;

mysqlcheck: [Warning] Using a password on the command line interface can be insecure.

test_db.user_tb OK

修复指定的表

[root@youxi1 ~]# mysqlcheck -uroot -p123456 -r test_db user_tb;

mysqlcheck: [Warning] Using a password on the command line interface can be insecure.

test_db.user_tb OK

修复指定数据库

[root@youxi1 ~]# mysqlcheck -uroot -p123456 -r test_db; //只有一个数据库的时候

mysqlcheck: [Warning] Using a password on the command line interface can be insecure.

test_db.user_tb OK

[root@youxi1 ~]# mysqlcheck -uroot -p123456 -r --databases test_db;  //有多个数据库的时候

mysqlcheck: [Warning] Using a password on the command line interface can be insecure.

test_db.user_tb OK

修复所有数据库

[root@youxi1 ~]# mysqlcheck -uroot -p123456 -r -A

[root@youxi1 ~]# mysqlcheck -uroot -p123456 -r --all-databases;

修复所有数据库时,有部分表可能不是MyISAM引擎,会报错。

有使用也会用定时计划任务,使用-o选项定时优化数据库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值