mysqlcheck使用介紹 檢查、修復、最佳化、分析表
以下內容主要適用於mysql 5.6,5.5的版本可能有部分選項不可用。
通常使用該工具一般語法為:
比如對mysql庫進行mysqlcheck操作:
實際上該工具是為了方便使用者使用,而使用了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
然後check了一下,發現blackhole和memory是不被支援的,因為這兩個儲存引擎只儲存.frm的表定義在磁碟上。
其他選項參考:
作者公眾號(持續更新)
通常使用該工具一般語法為:
- 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. |
作者公眾號(持續更新)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28211342/viewspace-2142242/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux效能分析和最佳化命令介紹Linux
- 【TUNE_ORACLE】Oracle檢查點(一)檢查點(Checkpoint)概念介紹Oracle
- SwiftLint:程式碼規範檢查工具介紹Swift
- BBED修復資料庫常用命令介紹資料庫
- 深入探索Android熱修復技術原理讀書筆記 —— 熱修復技術介紹Android筆記
- Nacos服務心跳和健康檢查原始碼介紹原始碼
- 修復HTTP 304錯誤狀態碼5種方法介紹HTTP
- 在Linux中,如何建立、檢查和修復檔案系統?Linux
- Sublime Text 中配置 Eslint 程式碼檢查和自動修復EsLint
- 【TUNE_ORACLE】Oracle檢查點(三)增量檢查點四個關鍵引數介紹Oracle
- MySQL檢視介紹MySql
- MT8163板調出檢查流程資料介紹
- 【轉】恢復archivelog介紹Hive
- Hbase原理的介紹和使用場景分析
- 某殼分析+修復(二)
- iOS開發-列表檢視的基本介紹與使用iOS
- 影片增強和修復軟體 Topaz Video AI mac中文版介紹IDEAIMac
- 介紹使用WordPress時10個常用的MySQL查詢MySql
- MySQL原理簡介—11.最佳化案例介紹MySql
- 滲透測試對網站漏洞修復執行命令重點檢查網站
- saltstack使用介紹
- Tmux使用介紹UX
- Github使用介紹Github
- CMinpack使用介紹
- 網站漏洞檢測對漏洞檢測修復方案網站
- phpStudy 後門如何檢測和修復PHP
- mysql模糊查詢like與REGEXP的使用詳細介紹MySql
- 定期最佳化和分析表
- 系統級效能分析工具perf的介紹與使用
- SOFABoot 健康檢查能力分析boot
- MySQL8.0 最佳化器介紹(一)MySql
- Oracle 備份和恢復介紹Oracle
- 【MySQL】二、Innodb 恢復工具介紹MySql
- GRPC使用問題修復RPC
- 使用汙點分析檢查log4j問題
- 隨身碟恢復工具的使用方法與技巧介紹
- Linux下面誤刪除檔案使用extundelete工具恢復介紹Linuxdelete
- u盤提示格式化怎麼修復 u盤要求格式解決方法介紹
- 「Oracle」Oracle高階查詢介紹Oracle