搭建基于GTID的复制方式
来源:互联网 发布:知乎玲珑邪僧 编辑:程序博客网 时间:2024/05/18 16:35
从mysql5.6开始数据库添加了一个新特性:global transaction identifiers (GTIDs)--全局事务标识符。
通过gtids,mysql数据库对每一个成功执行的事务在日志中添加唯一标识。在基于GTIDS的复制中,备机可以不通过指定主节点的日志和位置来获取数据,而是通过主备节点的transaction id来判断是否同步,同时决定需要抓取的数据。
GTID的格式为source_id:transaction_id
source_id唯一表示了一台server,通过函数server_uuid可以获取。
transaction_id用来标记在server中的事务串行运行的ID。
开启基于GTIDS复制的步骤如下:
基于前言的"简单搭建replicaition环境"
http://blog.csdn.net/wjf870128/article/details/45149573
1.在主备节点的配置文件/etc/my.cnf中加入
log_bin = mysql-bin
binlog_format = row
gtid_mode=ON
log-slave-updates
enforce-gtid-consistency
重启主备节点
注:
gtid_mode=ON
打开GTID复制模式;
log-slave-updates
备机在获取主节点日志应用的同时也记录到自己本机的binlog日志中;
enforce-gtid-consistency
开启严格的gtid格式。
2.将备节点指定到主节点的日志位置
mysql> CHANGE MASTER TO
> MASTER_HOST = 'mysql-rep01',
> MASTER_USER = 'repl',
> MASTER_PASSWORD = 'slavepass',
> MASTER_AUTO_POSITION = 1;
3.开启备节点slave
mysql>start slave;
4.在主节点运行sql后查看备节点slave状态
5.开启GTID复制模式的约束:
通过gtids,mysql数据库对每一个成功执行的事务在日志中添加唯一标识。在基于GTIDS的复制中,备机可以不通过指定主节点的日志和位置来获取数据,而是通过主备节点的transaction id来判断是否同步,同时决定需要抓取的数据。
GTID的格式为source_id:transaction_id
source_id唯一表示了一台server,通过函数server_uuid可以获取。
transaction_id用来标记在server中的事务串行运行的ID。
开启基于GTIDS复制的步骤如下:
基于前言的"简单搭建replicaition环境"
http://blog.csdn.net/wjf870128/article/details/45149573
1.在主备节点的配置文件/etc/my.cnf中加入
log_bin = mysql-bin
binlog_format = row
gtid_mode=ON
log-slave-updates
enforce-gtid-consistency
重启主备节点
注:
gtid_mode=ON
打开GTID复制模式;
log-slave-updates
备机在获取主节点日志应用的同时也记录到自己本机的binlog日志中;
enforce-gtid-consistency
开启严格的gtid格式。
2.将备节点指定到主节点的日志位置
mysql> CHANGE MASTER TO
> MASTER_HOST = 'mysql-rep01',
> MASTER_USER = 'repl',
> MASTER_PASSWORD = 'slavepass',
> MASTER_AUTO_POSITION = 1;
3.开启备节点slave
mysql>start slave;
4.在主节点运行sql后查看备节点slave状态
5.开启GTID复制模式的约束:
- 不支持非事务类型的存储引擎复制,如MyISAM;
- create table...select语句不支持,因为在基于row的复制中,该语句会备拆分为create和insert两件事务,并且会分配到相同的transaction id,会造成slave跳过相同transaction id而不同步的现象;
- 不支持临时表的使用;
- 无法使用sql_slave_skip_counter 跳过复制中出现的错误,可以在slave节点中指定变量gtid_executed来跳过相应的错误;
- 在mysql5.6.7以前的版本在运行mysql_upgrade的时候,如果开启gtid_mode=on的时候没有指定write_binlog=off会连接不上server。
参考http://dev.mysql.com/doc/refman/5.6/en/replication-gtids-restrictions.html
0 0
- 搭建基于GTID的复制方式
- MySql基于GTID主从复制的搭建
- 基于GTID的复制
- 基于gtid复制模式下的主从同步搭建测试
- MySQL5.6基于GTID的主从复制
- MySQL基于GTID复制
- MySQL5.7.18 基于GTID的复制搭建 (on Cent6.5)
- 基于GTID搭建主从
- MySQL主从复制-基于GTID及多线程的复制
- MySQL5.6的复制从传统方式改为GTID方式
- GTID:基于GTID搭建从库
- Mysql 复制-基于GTID 测试
- MySQL 5.6 基于GTID及多线程的复制详解
- MySQL 5.6 基于GTID及多线程的复制详解
- MySQL优化之七--Mysql基于GTID的主从复制
- MySQL study之--MySQL基于GTID的主从复制
- MySQL基于GTID模式的主从复制设置
- MySQL5.7 基于GTID的多源复制
- Qt数据库之数据库和驱动
- 人类是怎么一步一步地教会机器说人话的?告诉你语音合成技术的前世今生
- 绕过WAF检测WebShell通信
- 【storm kafka】RROR fetching topic metadata for topics [Set(order)] from broker [ArrayBuffer(id:0,host
- 从头思考并查集
- 搭建基于GTID的复制方式
- Halcon-Matlab 图像匹配
- [cocos2dx]在windows7下搭建Cocos2D-X win32开发环境
- STL容器类map学习
- [python]糗百热点爬虫
- 整数转换成罗马数字
- 真假硬币
- kft-activiti-demo学习(目录)
- 云计算的鉴权和租户管理