MySQL的参数对比方法

什么时候需要对比MySQL参数

  1. 迁移时,从一个集群到另一个集群
  2. 升级时,从一个版本到另一个版本
  3. 巡检时,需要关注重点参数是否有人为修改过
  4. 其他时候,自己去想

怎么对比

实例少时,比如两个集群的几组实例

大量数据库实例的对比,需要用脚本工具实现

第一步,建一个收集表

CREATE TABLE `info_variables` (
  `instanceid` int NOT NULL DEFAULT '0',
  `var_key` varchar(100) NOT NULL DEFAULT '',
  `var_value` varchar(1000) NOT NULL DEFAULT '',
   `linkname` varchar(50) NOT NULL DEFAULT '',
  clustertype varchar(10) not null default '',
   `_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`instanceid`,`var_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

第二步,建一个收集任务

第三步,清理指标

delete from info_variables where var_key like 'wsrep%';
delete from info_variables where var_key like 'performance_schema_%';
delete from info_variables where var_key like 'ssl_%';
delete from info_variables where var_key like 'log%';
delete from info_variables where var_key like 'group%';
delete from info_variables where var_key like 'validate%';
delete from info_variables where var_key like 'gtid%';
delete from info_variables where var_value like '%/%';    
delete from  info_variables where var_key in ( 'datadir                   ', 'hostname                  ', 'innodb_data_home_dir      ', 'innodb_log_group_home_dir ', 'innodb_undo_directory     ', 'port                      ', 'relay_log                 ', 'relay_log_basename        ', 'relay_log_index           ', 'report_port               ', 'server_id                 ', 'slave_load_tmpdir         ', 'socket                    ', 'tmpdir                    ' );

第四步,形成报告

重点关注参数

时间类:

自增主键:

连接属性:

字符编码:

mode:

以上参数的变化和不一致,可能会在迁移或升级过程中带来严重的后果,需慎重。

>> Home

51ak

2022/10/10

Categories: mysql 自动化 Tags: 基础

《数据库工作笔记》公众号
扫描上面的二维码,关注我的《数据库工作笔记》公众号