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选项定时优化数据库。

  • 相关阅读:
    打造基于CentOS7的xfce最简工作环境
    Linux下C程序的编辑,编译和运行以及调试
    修正 XE6 TListView 上方 SearchBok 右边的清除钮显示
    TabControl 显示彩色的图示 (XE6 Firemonkey)
    TSwitch 中文简繁显示支持(XE6 Android)
    改变 TMemo 的背景颜色 (Firemonkey)
    修正 XE5 Android 键盘三个问题
    Delphi 收藏
    展示 Popup 的使用方法
    ListView 下拉更新 (支持 Android)
  • 原文地址:https://www.cnblogs.com/diantong/p/11021705.html
Copyright © 2011-2022 走看看