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/29773961/viewspace-1815688/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysqlcheck使用介紹 檢查、修復、最佳化、分析表MySql
- 如何調優 Oracle SQL系列文章:查詢優化器介紹OracleSQL優化
- MySQL修復表的簡單分析MySql
- mysql查詢優化檢查 explainMySql優化AI
- javascript效能優化技巧介紹JavaScript優化
- Oracle效能優化--Latch介紹Oracle優化
- Oracle效能優化---鎖介紹Oracle優化
- 【TUNE_ORACLE】Oracle檢查點(一)檢查點(Checkpoint)概念介紹Oracle
- MySQL優化表和分析表MySql優化
- 【效能優化】增量檢查點優化
- BBED修復資料庫常用命令介紹資料庫
- Oracle SQL效能優化系列介紹OracleSQL優化
- 介紹一套給網管使用的安全檢查工具(轉)
- RMAN 資料庫修復(restore)與資料庫恢復(recover)介紹資料庫REST
- 安卓App熱補丁動態修復技術介紹安卓APP
- 物化檢視中的統計資訊導致的查詢問題分析和修復
- 深入探索Android熱修復技術原理讀書筆記 —— 熱修復技術介紹Android筆記
- SwiftLint:程式碼規範檢查工具介紹Swift
- u盤提示格式化怎麼修復 u盤要求格式解決方法介紹
- MySQL MERGE表的優缺點介紹MySql
- AsyncDisplayKit介紹(三)深度優化列表效能優化
- OCP4.2.2 主機標準化檢查系統配置項修復clocksource 報錯
- NUMA架構介紹及優缺點分析架構
- 使用物化檢視查詢重寫 優化對於 UNION ALL檢視的CONNECT BY查詢優化
- Oracle 分析函式使用介紹(轉)Oracle函式
- Nacos服務心跳和健康檢查原始碼介紹原始碼
- [原創]Java靜態程式碼檢查工具介紹Java
- mysql效能優化-慢查詢分析、優化索引和配置MySql優化索引
- C++11 修復了雙重檢查鎖定問題C++
- GBase8s優化指令介紹優化
- javascript程式碼效能優化簡單介紹JavaScript優化
- 建立XMLHttpRequest物件效能優化簡單介紹XMLHTTP物件優化
- ngx_pagespeed-nginx前端優化模組介紹Nginx前端優化
- 移動 WEB 通用優化策略介紹(1)Web優化
- Oracle 優化引數 optimizer_mode 介紹Oracle優化
- jCharts:Java圖表類庫使用介紹Java
- 修復HTTP 304錯誤狀態碼5種方法介紹HTTP
- MySQL檢視介紹MySql