共计 5130 个字符,预计需要花费 13 分钟才能阅读完成。
MySQLcheck 使用介绍 检查、修复、优化、分析表,以下内容主要适用于 mysql 5.6,5.5 的版本可能有部分选项不可用。
通常使用该工具一般语法为:
- shell> mysqlcheck [options] db_name [tbl_name …]
- shell> mysqlcheck [options] –databases db_name …
- shell> mysqlcheck [options] –all-databases
比如对 mysql 库进行 mysqlcheck 操作:
- [op@sAno1y ~]$ mysqlcheck mysql -uroot -p
- Enter password:
- mysql.columns_priv OK
- mysql.db OK
- mysql.event OK
- mysql.func OK
- mysql.general_log OK
- mysql.help_category OK
- mysql.help_keyword OK
- mysql.help_relation OK
- mysql.help_topic OK
- mysql.innodb_index_stats OK
- mysql.innodb_table_stats OK
- mysql.ndb_binlog_index OK
- mysql.plugin OK
- mysql.proc OK
- mysql.procs_priv OK
- mysql.proxies_priv OK
- mysql.servers OK
- mysql.slave_master_info OK
- mysql.slave_relay_log_info OK
- mysql.slave_worker_info OK
- mysql.slow_log OK
- mysql.tables_priv OK
- mysql.time_zone OK
- mysql.time_zone_leap_second OK
- mysql.time_zone_name OK
- mysql.time_zone_transition OK
- mysql.time_zone_transition_type OK
- mysql.user OK
实际上该工具是为了方便用户使用,而使用了 CHECK TABLE、REPAIR TABLE、ANALYZE TABLE、OPTIMIZE TABLE 语句。
–analyze 选项:实际上是执行了 ANALYZE TABLE(支持 InnoDB,MyISAM,NDB)
–check 选项:实际上是执行了 CHECK TABLE(支持 InnoDB,MyISAM,ARCHIVE,CSV)
–optimize 选项:实际上执行了 OPTIMIZE TABLE(支持 InnoDB,MyISAM,ARCHIVE)
–repair 选项:实际上执行 REPAIR TABLE(支持 MyISAM,ARCHIVE,CSV)
一般情况不需要加这些选项,除非需要修复
其他修改选项:
–repair –quick 尝试快速修复
–repair 正常修复(除非快速修复失败)
–repair –force 强行修复
当然,在 mysqlcheck 时,每张表会被加上 READ LOCK。
跑 该进程时,尤其是大表,将会变得十分耗时。
且该工具必须在 mysqld 服务运行的情况下使用。
此外,部分存储引擎的表是不被支持的:
我创了四张表,其存储引擎分别为 ARCHIVE、BLACKHOLE、MEMORY、MRG_MYISAM
- mysql> use test;
- Database changed
- mysql> show tables;
- +––––––––––––––––+
- | Tables_in_test |
- +––––––––––––––––+
- | archive_tb |
- | blackhole_tb |
- | memory_tb |
- | mrg_myisam_tb |
- +––––––––––––––––+
- 4 rows in set (0.00 sec)
然后 check 了一下,发现 blackhole 和 memory 是不被支持的,因为这两个存储引擎只存储.frm 的表定义在磁盘上。
- [op@sAno1y ~]$ mysqlcheck test -uroot -p
- Enter password:
- test.archive_tb OK
- test.blackhole_tb
- note : The storage engine for the table doesn’t support check
- test.memory_tb
- note : The storage engine for the table doesn’t support check
- test.mrg_myisam_tb OK
其他选项参考:
| Format | Description | Introduced |
|---|---|---|
| –all-databases | Check all tables in all databases | |
| –all-in-1 | Execute a single statement for each database that names all the tables from that database | |
| –analyze | Analyze the tables | |
| –auto-repair | If a checked table is corrupted, automatically fix it | |
| –bind-address=ip_address | Use specified network interface to connect to MySQL Server | |
| –character-sets-dir=path | Directory where character sets are installed | |
| –check | Check the tables for errors | |
| –check-only-changed | Check only tables that have changed since the last check | |
| –check-upgrade | Invoke CHECK TABLE with the FOR UPGRADE option | |
| –compress | Compress all information sent between client and server | |
| –databases | Process all tables in the named databases | |
| –debug[=debug_options] | Write a debugging log | |
| –debug-check | Print debugging information when program exits | |
| –debug-info | Print debugging information, memory, and CPU statistics when program exits | |
| –default-auth=plugin | Authentication plugin to use | 5.6.2 |
| –default-character-set=charset_name | Specify default character set | |
| –defaults-extra-file=file_name | Read option file in addition to usual option files | |
| –defaults-file=file_name | Read only named option file | |
| –defaults-group-suffix=str | Option group suffix value | |
| –extended | Check and repair tables | |
| –fast | Check only tables that have not been closed properly | |
| –fix-db-names | Convert database names to 5.1 format | |
| –fix-table-names | Convert table names to 5.1 format | |
| –force | Continue even if an SQL error occurs | |
| –help | Display help message and exit | |
| –host=host_name | Connect to MySQL server on given host | |
| –login-path=name | Read login path options from .mylogin.cnf | 5.6.6 |
| –medium-check | Do a check that is faster than an –extended operation | |
| –no-defaults | Read no option files | |
| –optimize | Optimize the tables | |
| –password[=password] | Password to use when connecting to server | |
| –pipe | On Windows, connect to server using named pipe | |
| –plugin-dir=path | Directory where plugins are installed | 5.6.2 |
| –port=port_num | TCP/IP port number to use for connection | |
| –print-defaults | Print defaults | |
| –protocol=type | Connection protocol to use | |
| –quick | The fastest method of checking | |
| –repair | Perform a repair that can fix almost anything except unique keys that are not unique | |
| –secure-auth | Do not send passwords to the server in old (pre-4.1.1) format | 5.6.17 |
| –shared-memory-base-name=name | The name of shared memory to use for shared-memory connections | |
| –silent | Silent mode | |
| –skip-database=db_name | Omit this database from performed operations | 5.6.11 |
| –socket=path | For connections to localhost, the Unix socket file to use | |
| –ssl | Enable SSL for connection | |
| –ssl-ca=file_name | Path of file that contains list of trusted SSL CAs | |
| –ssl-capath=dir_name | Path of directory that contains trusted SSL CA certificates in PEM format | |
| –ssl-cert=file_name | Path of file that contains X509 certificate in PEM format | |
| –ssl-cipher=cipher_list | List of permitted ciphers to use for SSL encryption | |
| –ssl-crl=file_name | Path of file that contains certificate revocation lists | 5.6.3 |
| –ssl-crlpath=dir_name | Path of directory that contains certificate revocation list files | 5.6.3 |
| –ssl-key=file_name | Path of file that contains X509 key in PEM format | |
| –ssl-verify-server-cert | Verify server Common Name value in its certificate against host name used when connecting to server | |
| –tables | Overrides the –databases or -B option | |
| –use-frm | For repair operations on MyISAM tables | |
| –user=user_name, | MySQL user name to use when connecting to server | |
| –verbose | Verbose mode | |
| –version | Display version information and exit | |
| –write-binlog | Log ANALYZE, OPTIMIZE, REPAIR statements to binary log. –skip-write-binlog adds NO_WRITE_TO_BINLOG to these statements. |
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-09/146647.htm






