zoukankan      html  css  js  c++  java
  • 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 <数据库名1> [数据库名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选项定时优化数据库。

  • 相关阅读:
    [Python]计算豆瓣电影TOP250的平均得分
    [Golang]使用自建代理访问指定网站
    HDU 2689.Sort it-冒泡排序
    HDU 1728.逃离迷宫-BFS
    hihoCoder #1498.Diligent Robots
    POJ 2503.Babelfish-sscanf()函数+strcmp()函数+二分
    Codeforces 608 B. Hamming Distance Sum-前缀和
    Codeforces 608 A. Saitama Destroys Hotel
    sscanf()函数
    UVA 11461.Square Numbers
  • 原文地址:https://www.cnblogs.com/diantong/p/11021705.html
Copyright © 2011-2022 走看看