[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中程度のチェックオプションよりも高速
免責事項:この記事はorangleliu(http://blog.csdn.net/orangleliu/)のオリジナル記事、無料配布、転載記事宣言、ありがとうございます。