percona-toolkitを使用してMySQLを操作する実用的なコマンドのまとめ
5490 ワード
1.pt-archiver機能紹介:mysqlデータベースのテーブルのレコードを別のテーブルまたはファイルの使い方紹介にアーカイブする:pt-archiver[OPTION...]--source DSN--where WHEREというツールは古いデータをアーカイブするだけで、オンラインデータのOLT Pクエリーに大きな影響を与えることはありません.別のサーバの他のテーブルにデータを挿入したり、1つのファイルに書き込んだりして、load data infileコマンドを使ってデータを読み込むのに便利です.またdelete操作を実行することもできます.このツールはデフォルトでソースのデータを削除します.ご使用の際はご注意ください.使用例:例1:192.168.3.135のsanmaoライブラリのoss_をlogテーブルidが100000未満のレコードは192.168.3.92のsanmaoライブラリに移行しoss_にアーカイブされます.log_archive_20120605.logファイル:
例2:192.168.3.135のsanmaoライブラリのoss_をlogが160000未満のレコードをoss_にアーカイブlog_archive_201607.logファイル:
例3:192.168.3.135のsanmaoライブラリのoss_を削除logテーブルのidが167050未満のレコード:
注意:文字セットがutf 8の場合はmy.cnfの[client]の下にdefault-character-set=utf 8を追加します.そうしないと、エクスポートされたファイルの内容が中国語で文字化されません. 2.pt-find機能の紹介:mysqlテーブルを検索し、指定したコマンドを実行します.gnuのfindコマンドと似ています.使用法紹介:pt-find[OPTION...][DATABASE...] デフォルトのアクションは、データベース名とテーブル名の印刷の使用例です.例1:192.168.3.135で1日前に作成したInnoDBのテーブルを検索し、印刷します.
例2:192.168.3.135で1日前に変更したデータベース名が%hostsops%と一致し、エンジンがMYISAMのテーブルを検索し、テーブルのエンジンをInnoDBエンジンに変更します.
例3:192.168.3.135のaaaライブラリとzhangライブラリの空のテーブルを検索し、削除します.
例4:192.168.3.135で100 Mを超えるテーブルを検索します.
3.pt-kill機能紹介:Kill掉合符合指定条件mysql文用法紹介:pt-kill[OPTIONS]加入未指定ファイルの場合pt-killはmysqlに接続されSHOW PROSCESSLISTを通じて指定された文を見つけ、逆にpt-killはSHOW PROSCESSLIST結果を含むファイルからmysql文を読み取る使用例:例1:192.168.3.135サーバの稼働時間が60 sを超える文を検索し、印刷する
例2:192.168.3.135サーバの稼働時間が60 sを超える文を検索し、kill
例3:proccesslistファイルから実行時間が60 sを超える文を検索する
4.pt-config-diff機能紹介:mysqlプロファイルとサーバパラメータの比較使い方紹介:pt-config-diff[OPTION...]CONFIG CONFIG [CONFIG...] CONFIGはファイルでもデータソース名でも構いません.少なくとも2つのプロファイルソースを指定する必要があります.unixの下のdiffコマンドのように、構成が完全であれば何も出力されません.使用例:例1:ローカルサーバとリモートサーバのプロファイルの違いを表示します.
比較した内容は以下の通りです.
例2:ローカル・プロファイルとリモート・サーバの違いを比較します.
比較した内容は以下の通りです.
例3:ローカルの2つのプロファイルの違いを比較します.
5.pt-mysql-summary機能紹介:mysqlの構成とsataus情報を細かくまとめ、まとめた後、直接見るとわかります.使用法紹介:pt-mysql-summary[OPTIONS][--MYSQL OPTIONS]動作原理:mysqlに接続してstatusと構成情報をクエリーして一時ディレクトリに保存し、awkと他のスクリプトツールでフォーマットします.OPTIONSは公式サイトの関連ページを見ることができます.使用例:例1:ローカルmysqlサーバのstatusと構成情報をまとめます.
例2:ローカルmysqlサーバ192.168.3.92のstatusと構成情報をまとめます.
6.pt-variable-advisor機能紹介:mysqlのパラメータ変数を分析し、存在する可能性のある問題について提案用法紹介:pt-variable-advisor[OPTION...][DSN]原理:show variablesの構成エラーの設定と値を予め定義されたルールに従ってチェックします.使用例:例1:localhostから変数値を取得する
例2:指定したファイルから構成を読み込みます.これはフォーマット要件があります.
pt-archiver --source h=192.168.3.135,D=sanmao,t=oss_log --user=root --password=zhang@123 --dest
h=192.168.3.92,D=sanmao,t=oss_log --file '/var/log/oss_log_archive_20120605.log' --where "id<=100000" --commit-each
例2:192.168.3.135のsanmaoライブラリのoss_をlogが160000未満のレコードをoss_にアーカイブlog_archive_201607.logファイル:
pt-archiver --source h=192.168.3.135,D=sanmao,t=oss_log --user=root --password=zhang@123 --file '/var/log/oss_log_archive_20120607.log' --where "id<=160000" --commit-each
例3:192.168.3.135のsanmaoライブラリのoss_を削除logテーブルのidが167050未満のレコード:
pt-archiver --source h=192.168.3.135,D=sanmao,t=oss_log --user=root --password=zhang@123 --purge --where 'id<=167050'
注意:文字セットがutf 8の場合はmy.cnfの[client]の下にdefault-character-set=utf 8を追加します.そうしないと、エクスポートされたファイルの内容が中国語で文字化されません. 2.pt-find機能の紹介:mysqlテーブルを検索し、指定したコマンドを実行します.gnuのfindコマンドと似ています.使用法紹介:pt-find[OPTION...][DATABASE...] デフォルトのアクションは、データベース名とテーブル名の印刷の使用例です.例1:192.168.3.135で1日前に作成したInnoDBのテーブルを検索し、印刷します.
pt-find --ctime +1 --host=192.168.3.135 --engine InnoDB --user=root --password=zhang@123
例2:192.168.3.135で1日前に変更したデータベース名が%hostsops%と一致し、エンジンがMYISAMのテーブルを検索し、テーブルのエンジンをInnoDBエンジンに変更します.
pt-find --mtime +1 --dblike hostsops --engine MyISAM --host=192.168.3.135 --user=root --password=zhang@123 --exec "ALTER TABLE %D.%N ENGINE=InnoDB"
例3:192.168.3.135のaaaライブラリとzhangライブラリの空のテーブルを検索し、削除します.
pt-find --empty aaa zhang --host=192.168.3.135 --user=root --password=zhang@123 --exec-plus "DROP TABLE %s"
例4:192.168.3.135で100 Mを超えるテーブルを検索します.
pt-find --tablesize +100M --host=192.168.3.135 --user=root --password=zhang@123
3.pt-kill機能紹介:Kill掉合符合指定条件mysql文用法紹介:pt-kill[OPTIONS]加入未指定ファイルの場合pt-killはmysqlに接続されSHOW PROSCESSLISTを通じて指定された文を見つけ、逆にpt-killはSHOW PROSCESSLIST結果を含むファイルからmysql文を読み取る使用例:例1:192.168.3.135サーバの稼働時間が60 sを超える文を検索し、印刷する
pt-kill --busy-time 60 --print --host=192.168.3.135 --user=root --password=zhang@123
例2:192.168.3.135サーバの稼働時間が60 sを超える文を検索し、kill
pt-kill --busy-time 60 --kill --host=192.168.3.135 --user=root --password=zhang@123
例3:proccesslistファイルから実行時間が60 sを超える文を検索する
mysql -uroot -pzhang@123 -h192.168.3.135 -e "show processlist" > processlist.txt
pt-kill --test-matching processlist.txt --busy-time 60 --print
4.pt-config-diff機能紹介:mysqlプロファイルとサーバパラメータの比較使い方紹介:pt-config-diff[OPTION...]CONFIG CONFIG [CONFIG...] CONFIGはファイルでもデータソース名でも構いません.少なくとも2つのプロファイルソースを指定する必要があります.unixの下のdiffコマンドのように、構成が完全であれば何も出力されません.使用例:例1:ローカルサーバとリモートサーバのプロファイルの違いを表示します.
pt-config-diff h=localhost h=192.168.3.92 --user=root --password=zhang@123
比較した内容は以下の通りです.
22 config differences
Variable localhost.localdomain localhost.localdomain
========================= ===================== =====================
binlog_cache_size 8388608 2097152
have_ndbcluster DISABLED NO
innodb_additional_mem_... 16777216 33554432
innodb_buffer_pool_size 1677721600 1073741824
例2:ローカル・プロファイルとリモート・サーバの違いを比較します.
pt-config-diff /etc/my.cnf h=192.168.3.92 --user=root --password=zhang@123
比較した内容は以下の通りです.
12 config differences
Variable /etc/my.cnf localhost.localdomain
========================= =========== =====================
binlog_cache_size 8388608 2097152
binlog_format mixed MIXED
例3:ローカルの2つのプロファイルの違いを比較します.
pt-config-diff /usr/local/mysql/share/mysql/my-large.cnf /usr/local/mysql/share/mysql/my-medium.cnf
5.pt-mysql-summary機能紹介:mysqlの構成とsataus情報を細かくまとめ、まとめた後、直接見るとわかります.使用法紹介:pt-mysql-summary[OPTIONS][--MYSQL OPTIONS]動作原理:mysqlに接続してstatusと構成情報をクエリーして一時ディレクトリに保存し、awkと他のスクリプトツールでフォーマットします.OPTIONSは公式サイトの関連ページを見ることができます.使用例:例1:ローカルmysqlサーバのstatusと構成情報をまとめます.
pt-mysql-summary -- --user=root --password=zhang@123 --host=localhost
例2:ローカルmysqlサーバ192.168.3.92のstatusと構成情報をまとめます.
pt-mysql-summary -- --user=root --password=zhang@123 --host=192.168.3.92
6.pt-variable-advisor機能紹介:mysqlのパラメータ変数を分析し、存在する可能性のある問題について提案用法紹介:pt-variable-advisor[OPTION...][DSN]原理:show variablesの構成エラーの設定と値を予め定義されたルールに従ってチェックします.使用例:例1:localhostから変数値を取得する
pt-variable-advisor --user=root --password=zhang@123 localhost
例2:指定したファイルから構成を読み込みます.これはフォーマット要件があります.
pt-variable-advisor --user=root --password=zhang@123 --source-of-variables my.cnf