製品&サポートサービス

pt-config-diff

コマンド

pt-config-diff [ オプション ] [ ファイル名1 ] [ ファイル名2 ]

目的

指定した2つのMySQLの設定ファイルを比較して、その2つの差異を出力します

シナリオ

以下のような my.cnf と my2.cnf という2つの設定ファイルを用意します

my.cnf

[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
key_buffer_size = 256M
innodb_file_per_table
innodb_data_home_dir = /var/lib/mysql/
innodb_log_file_size = 128M
character-set-server = utf8
slow_query_log = 1
slow_query_log_file = slow_queries.log
log-error = /var/lib/mysql/mysqld.err

my2.cnf

[client]
port = 1000
socket = /var/lib/mysql/mysql2.sock
[mysqld]
port = 9999
socket = /var/lib/mysql/mysql.sock
key_buffer_size = 512M
innodb_data_home_dir = /var/lib/mysql/
character-set-server = sjis
slow_query_log = 0
slow_query_log_file = slow_queries.log
log-error = /var/lib/mysql/mysqld.err

pt-config-diff コマンドで両ファイルを比較し、差異を出力させます

結果

以下のように、スクリプト上にファイル内で設定が異なる項目とその内容が標準出力されます

pt-config-diff01

※[ client ] の設定は比較の対象外となります

※2つの設定ファイルの両方に存在する項目のみが比較されます(my.cnf のみに存在する innodb_file_per_table と innodb_log_file_size の2項目は比較対象外となります)

良い点

異なるMySQL設定ファイルの差異を簡単に検出する事ができます

その他

設定ファイルの代わりにホスト名を指定することで、二つのホスト間のサーバ変数の差異を出力することも出来ます
例えば、稼働している二台のサーバを指定すると、「SHOW VARIABLES」の結果を比較して出力します

# pt-config-diff h=ホスト名1 h=ホスト名2

MySQLや関連ソリューションに関するお問い合わせ、お見積などがございましたら、ご連絡ください。

お問い合わせ各MySQL保守サービス見積依頼スマートスタイルOSSストア

ページトップへ