[MySQL] Mysqlcheckを使用してテーブルをチェックおよび修復、最適化する方法
How Use Mysqlcheck Check
mysqlcheck is MySQLには、役割が
maintenance
Tableであるツールが付属しており、実際には、検査、分析、修復、および最適化が行われます。ここでは、簡単なツールmysqlcheckの使用法を紹介します。 公式文書はこちら元のURL:http://blog.csdn.net/orangleliu/article/details/63275154
次の例は、MySQL 5.6の次のバージョンの動作ステータス(mysqlcheckはオンラインツールです)、このレベルのサポート(チェック、修復、分析、最適化を参照)のさまざまなコマンド用のさまざまなストレージエンジンに基づいています。次の内容は多少の操作です、メジャーベースのinnodbエンジン。
ヒント:大きなテーブルで最適化すると、多くの時間がかかる可能性があります。明確な原則の下では、注意してください!!! innodbは通常、最適化を行いません。を参照してください。 MySQL OPTIMIZEテーブルを使用していますか? InnoDBの場合は?やめる
特定の表を確認してください
mysqlのインタラクティブ環境ではなく、シェルで実行されることに注意してください
アプリケーションが不良テーブルを要求した場合は、次のコマンドを使用して確認してください。
$ mysqlcheck -c newmandela order -uroot -p Enter password: newmandela.order OK
newmandelaはライブラリ名、orderはテーブル名、ユーザー名とパスワードも入力する必要があります
すべてのテーブルのデータベースをチェックしています
$ mysqlcheck -c newmandela -uroot -p Enter password: newmandela.account OK newmandela.alarm OK newmandela.alarm_settings OK newmandela.auth_group OK newmandela.auth_group_permissions OK newmandela.auth_permission OK ...
すべてのライブラリすべてのテーブルを確認してください
すべてのライブラリとテーブルが再度チェックしています。
$mysqlcheck -c --all-databases -uroot -p Enter password: apmonitor.acinfo OK apmonitor.apdailysts OK apmonitor.apinfo OK apmonitor.apmonthsts OK apmonitor.apscanlog OK apmonitor.auth_group OK ...
いくつかのライブラリをチェックしたい場合はどうしますか?パラメータを使用できます-データベース
$ mysqlcheck -c --databases newmandela radius -uroot -p Enter password: newmandela.account OK newmandela.alarm OK newmandela.alarm_settings OK newmandela.auth_group OK ...
mysqlcheck分析テーブルを使用する
$ mysqlcheck -a radius payment_transactionrecord -uroot -p Enter password: radius.payment_transactionrecord Table is already up to date
上記のコマンドは、半径ライブラリを分析するために使用されますpayment_transactionrecord
テーブル、-a
彼は分析を表現しました
mysqlcheck最適化テーブルを使用する
# mysqlcheck -o radius payment_transactionrecord -uroot -p Enter password: radius.payment_transactionrecord OK
-o
最適化に代わって、最適化された半径ライブラリがありますpayment_transactionrecord
表
mysqlcheck修復テーブルを使用する
# mysqlcheck -r radius payment_transactionrecord -uroot -p Enter password: radius.payment_transactionrecord OK
-r
修理を代表して、ここの修理半径はライブラリですpayment_transactionrecord
表
テーブル結合コマンドの確認、最適化、修復
# mysqlcheck -uroot -p --auto-repair -c -o newmandela Error: mysqlcheck doesn't support multiple contradicting commands.
上記のコマンドが与えられたら、remove -c
# mysqlcheck -uroot -p --auto-repair -o newmandela Enter password: newmandela.account note : Table does not support optimize, doing recreate + analyze instead status : OK newmandela.alarm note : Table does not support optimize, doing recreate + analyze instead status : OK newmandela.alarm_settings note : Table does not support optimize, doing recreate + analyze instead status : OK
各テーブルが出現しましたTable does not support optimize, doing recreate + analyze instead
それはどういう意味ですか? innodbエンジン最適化がサポートされていないという意味ではありません。参照できます。 http://stackoverflow.com/questions/30635603/what-does-table-does-not-support-optimize-doing-recreate-analyze-instead-me 彼女は答えます。
mysqlcheckの一般的なオプション
A, –all-databases
それはすべてのライブラリを意味します-a, –analyze
分析表-o, –optimize
テーブルの最適化-r, –repair
修復テーブルエラー-c, –check
エラーのチェックリスト–auto-repair
損傷したテーブルの自動修復-B, –databases
複数のライブラリを選択します-1, –all-in-1
データベースごとに1つのクエリを使用し、テーブルをコンマで区切ってリストします-C, –check-only-changed
検査後の最終変更のチェックリスト-g, –check-upgrade
テーブルでバージョンに依存する変更を確認します-F, –fast
正しく閉じられていないテーブルを確認してください–fix-db-names
DB名を修正する–fix-table-names
テーブル名を修正する-f, –force
エラーがあっても続行-e, –extended
テーブルに対して拡張チェックを実行します。これは実行に長い時間がかかります。-m, –medium-check
拡張チェックオプションよりも高速ですが、ほとんどのチェックを実行します-q, –quick
中程度のチェックオプションよりも高速