随笔分类 -  MySQL Replication

摘要:TID(Trasaction ID)TID代表实例上已经提交的事务数量,并随着事务提交递增 UUID代表MYSQL实例的唯一表示 GTID(Global Trasaction ID)GTID由MYSQL实例的UUID+已提交事务的TID组成,代表一个全局唯一的编号。 GTID的出现用来解决复制中一个 阅读全文
posted @ 2019-03-31 21:48 TeyGao 阅读(248) 评论(0) 推荐(0)
摘要:在 Mixed 模式下,MySQL 会根据执行的每一条具体的 SQL 语句来区分对待记录的日志形式,也就是在 statement 和 row 之间选择一种。如果SQL语句为UPDATE/DELETE等修改语句时,并不是所有操作都以ROW模式记录变更操作。 测试Demo: 查看生成的BINLOG事件: 阅读全文
posted @ 2019-03-26 11:30 TeyGao 阅读(362) 评论(0) 推荐(0)
摘要:测试环境:MySQL 5.5.14/MySQL 5.6.36 测试脚本: 建表语句为: 上面ALTER命令想要将表主键ID列修改为null,执行完成未报错,但未修改成功。 查看BINLOG日志发现: 发现该命令被记录到BINLOG日志中。 上面代码在MySQL 5.7版本中执行,会报错: 如果主库为 阅读全文
posted @ 2019-03-26 11:04 TeyGao 阅读(1137) 评论(0) 推荐(0)
摘要:问题描述: 1、从库环境:MySQL 5.7.19,主从都开启GTID模式 2、MySQL数据目录所有者被修改,导致数据库服务异常关闭 2、修改数据目录所有者,重启数据库服务,开启复制,报错信息为: 错误解决: 1、检查主从GTID设置,正常 2、解析binlog日志检查,发现事务包含GTID信息 阅读全文
posted @ 2019-03-26 10:17 TeyGao 阅读(357) 评论(0) 推荐(0)
摘要:在MySQL中,有两种跳过复制错误的方法:1、对于未使用GTID的复制,可以使用sql_slave_skip_counter来跳过错误2、对于使用GTID的复制,可以使用GTID_NEXT模拟空事务来跳过错误 使用sql_slave_skip_counter跳过错误 对于set global sql 阅读全文
posted @ 2019-03-08 10:57 TeyGao 阅读(851) 评论(0) 推荐(0)
摘要:在MYSQL5.7版本中引入多源复制,一个从库允许复制多个主库的数据,每个主库被配置为一个单独的channel。对于每个channel:1>拥有独立的chanel名2>拥有独立的receiver线程以及独立的中继日志。3>可以被单独启动和关闭以及进行配置4>可以拥有独立的一组applier线程来并发 阅读全文
posted @ 2019-03-03 14:13 TeyGao 阅读(343) 评论(0) 推荐(0)