redis sentinel中IP绑定的坑
在测试sentinel的时候遇到个问题,我在github上面也看到有人提出类似的问题。 测试环境在CentOS7.3, firewalld已经停掉, 同时已经禁用selinux, redis版本是3.2.9, 测试采用一主两从的结构 Node Host IP ServerPort SentinelPort Node 1 node59 172.16.…
PXC集群用IST添加新节点
Percona XtraDB Cluster官方文档(https://www.percona.com/doc/percona-xtradb-cluster/5.7/intro.html)有提到PXC的缺点是添加新节点时必须从现有的一个节点复制的数据集,如果是100GB,它将复制100GB;也就是说默认新添加的节点会发生SST(State Snaps…
CentOS7下部署三节点PXC集群
PXC介绍 Percona XtraDB Cluster,简称PXC, 是Percona公司推出的基于Galera库的MySQL高可用解决方案, 其特点是同步复制和数据强一致性, 支持多点写入和并行复制,完全兼容Oracle MySQL和Percona Server, 可以2个节点组成集群, 官方推荐是三节点; 在生产环境中建议采用单点写入的方式,…
innodb表空间传输测试
innodb表空间传输,是MySQL5.6开始加入的新特性,支持普通表空间拷贝到其他实例下,MySQL5.7支持分区表的表空间传输,使innodb表的拷贝变得更加简单容易。 方便是方便了,但也要需要注意: (1) innodb表空间传输不要用来做主从复制,否则会出现数据不一致的问题; (2) 使用之前,要确认使用了innodb_file_per_t…
GTID复制踩到的坑
问题背景: 在搭建完成GTID复制环境以后, 从库show slave status\G输出可以看到Slave_IO_Running和Slave_SQL_Running状态是YES 主库show master status输出 从库show master status输出 看起来主从结构并没有什么问题,但当把从库关闭再重启启动的时候,show ma…
为什么MySQL binlog_format一定要设置成row
我们知道statement格式的二进制日志记录的是实际的SQL语句, 其特点是binlog文件较小,由于日志记录了原始的SQL,所以也方便统计和审计,相对来说也比较方便DBA阅读;其缺点也存在安全隐患,可能会导致主从数据不一致,原因在于对一些系统函数不能准确复制或不能复制,如now()、uuid()、user()、load_file()等。 而ro…
pt工具(4)pt-tabke-sync修复主从数据不一致
前提先使用pt-table-checksum,得到checkums,根据checkums这个表定位到不一致的chunk, 对这个chunk切分成多个chunk,一步步定位到不一致的数据 #测试修复命令是否正确 [root@vdb_172_16_123_101 15:55:38 /root]# shell> pt-table-sync --re…
pt工具(3)pt-table-checksum数据一致性校验
原理: 在主库执行, 设置会话的binlog格式为statement格式, 设置会话的隔离级别为RR, 执行show processlist或show slave hosts确定从库的连接方式,把校验SQL先在master执行,再传到slave执行,如果主从分别执行的结果一样,那数据就是一致性,否则数据不一致。 其核心原理是把表的所有字段拼成一个值…
记一次1062主从复制故障的处理过程--20170411
昨天晚上业务平台迁移到阿里云, 其中包括一台用于上线前做内部测试的预发布服务器; 凌晨迁移完以后直到下班数据库均无异常,等我收拾好东西准备回去的时候,收到告警说从库报1062主键冲突, 线上的数据库没有使用审计相关功能也没有开general_log, 主键冲突的是t_users表, desc查看表结构有主键, 根据主键查询表数据,看到有一个regi…
pt工具(2)使用pt-duplicate-key-checker检查冗余索引
pt-duplicate-key-checker参数解读 --ask-pass       提示输入密码 --charset=      指定字符集 --databases= 指定库名(注意有s) --engines=     指定检查的存储引擎 --host=           指定主机 --socket=       指定socket文件 -…