pt-config-diff是Percona Toolkit工具集的其中一个,主要用于my.cnf配置文件和show global variables系统变量之间的对比,下面简单介绍一下。
(1)基本语法
pt-config-diff [OPTIONS] CONFIG CONFIG [CONFIG...]
(2)配置文件之间的对比
pt-config-diff /etc/my-1.cnf /etc/my-2.cnf
(3)配置文件和系统变量之间的对比
pt-config-diff /etc/my.cnf h=host1
(4)系统变量之间的对比
pt-config-diff h=host1 h=host2
(5)常见选项
--host:-h,IP地址
--port:-P,端口
--socket:-S,套接字文件
--user:-u,用户名
--password:-p,密码
--charset:-A,字符集
--database:-D,数据库
--ask-pass:提示手动输入密码
--ignore-variables:忽略某些系统变量
--[no]ignore-case:是否大小写敏感
--report-width:输出报告长度
(6)DSN选项
h:IP地址
P:端口
S:套接字文件
u:用户名
p:密码
A:字符集
D:数据库
(1)配置文件之间的对比,输出如下(如果完全一致,则不输出):
$ pt-config-diff --report-width 200 /usr/local/mysql57/my.cnf /usr/local/mysql80/my.cnf
14 config differences
Variable /usr/local/mysql57/my.cnf /usr/local/mysql80/my.cnf
========================== ============================================================================= ============================================================================================
basedir /usr/local/mysql57 /usr/local/mysql80
datadir /appdata/mysqldata57 /appdata/mysqldata80
innodb_log_group_home_dir /applog/mysqllog57 /applog/mysqllog80
log_bin /applog/mysqllog57/mysql-bin /applog/mysqllog80/mysql-bin
log_error /applog/mysqllog57/mysql-error.log /applog/mysqllog80/mysql-error.log
long_query_time 1 5
pid_file /appdata/mysqldata57/mysql.pid /appdata/mysqldata80/mysql.pid
plugin_dir /usr/local/mysql57/lib/plugin /usr/local/mysql80/lib/plugin
plugin_load rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so;auth_socket.so
port 10057 10080
server_id 571 801
slow_query_log_file /applog/mysqllog57/mysql-slow.log /applog/mysqllog80/mysql-slow.log
socket /appdata/mysqldata57/mysql.sock /appdata/mysqldata80/mysql.sock
tmpdir /appdata/mysqldata57 /appdata/mysqldata80
(2)配置文件和系统变量之间的对比,输出如下(如果完全一致,则不输出):
$ pt-config-diff --report-width=200 /usr/local/mysql57/my.cnf h=10.1.4.9,P=10057,u=test,p=xxx
8 config differences
Variable /usr/local/mysql57/my.cnf brightdeng-cvm-01
========================== ============================== ===============================================
basedir /usr/local/mysql57 /usr/local/mysql-5.7.30-linux-glibc2.12-x86_64/
binlog_rows_query_log_e... on ON
gtid_mode on ON
innodb_adaptive_hash_index on ON
innodb_use_native_aio on ON
log_slave_updates on ON
pid_file /appdata/mysqldata57/mysql.pid /appdata/mysqldata57/brightdeng-cvm-01.pid
rpl_semi_sync_master_wa... on ON
(3)系统变量之间的对比,输出如下(如果完全一致,则不输出):
$ pt-config-diff --report-width=200 h=10.1.4.9,P=10057,u=test,p=xxx h=10.1.4.5,P=10057,u=test,p=xxx
7 config differences
Variable brightdeng-cvm-01 brightdeng-cvm-02
========================== ====================================================== ======================================================
general_log_file /appdata/mysqldata57/brightdeng-cvm-01.log /appdata/mysqldata57/brightdeng-cvm-02.log
hostname brightdeng-cvm-01 brightdeng-cvm-02
pid_file /appdata/mysqldata57/brightdeng-cvm-01.pid /appdata/mysqldata57/brightdeng-cvm-02.pid
relay_log_basename /appdata/mysqldata57/brightdeng-cvm-01-relay-bin /appdata/mysqldata57/brightdeng-cvm-02-relay-bin
relay_log_index /appdata/mysqldata57/brightdeng-cvm-01-relay-bin.index /appdata/mysqldata57/brightdeng-cvm-02-relay-bin.index
server_id 571 572
server_uuid 2fd286bd-d7a5-11ea-b712-525400dc250b db83889b-96b7-11eb-8f23-525400bd009d
通过pt-config-diff工具,可以快速找出配置不一致的问题,非常方便。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。