位置: 编程技术 - 正文

详解MySQL主从复制实战 - 基于GTID的复制(mysql如何实现主从复制的具体流程)

编辑:rootadmin

推荐整理分享详解MySQL主从复制实战 - 基于GTID的复制(mysql如何实现主从复制的具体流程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:什么是mysql主从复制,mysql主从复制有什么用,mysql主从复制方式有哪些,mysql主从复制方式有哪些,mysql主从复制有什么用,mysql主从复制原理以及架构,mysql如何实现主从复制的具体流程,mysql主从复制有什么用,内容如对您有帮助,希望把文章链接给更多的朋友!

基于GTID的复制

简介

基于GTID的复制是MySQL 5.6后新增的复制方式.

GTID (global transaction identifier) 即全局事务ID, 保证了在每个在主库上提交的事务在集群中有一个唯一的ID.

在原来基于日志的复制中, 从库需要告知主库要从哪个偏移量进行增量同步, 如果指定错误会造成数据的遗漏, 从而造成数据的不一致.

而基于GTID的复制中, 从库会告知主库已经执行的事务的GTID的值, 然后主库会将所有未执行的事务的GTID的列表返回给从库. 并且可以保证同一个事务只在指定的从库执行一次.

实战

1、在主库上建立复制账户并授予权限

基于GTID的复制会自动地将没有在从库执行的事务重放, 所以不要在其他从库上建立相同的账号. 如果建立了相同的账户, 有可能造成复制链路的错误.

注意在生产上的密码必须依照相关规范以达到一定的密码强度, 并且规定在从库上的特定网段上才能访问主库.

查看用户

查看授权

2、配置主库服务器

NOTE: 把日志与数据分开是个好习惯, 最好能放到不同的数据分区

enforce_gtid_consistency 强制GTID一致性, 启用后以下命令无法再使用

create table ... select ...

因为实际上是两个独立事件, 所以只能将其拆分先建立表, 然后再把数据插入到表中

create temporary table

事务内部不能创建临时表

同一事务中更新事务表与非事务表(MyISAM)

详解MySQL主从复制实战 - 基于GTID的复制(mysql如何实现主从复制的具体流程)

所以建议选择Innodb作为默认的数据库引擎.

log_slave_updates 该选项在MySQL 5.6版本时基于GTID的复制是必须的, 但是其增大了从服务器的IO负载, 而在MySQL 5.7中该选项已经不是必须项

3、配置从库服务器

master_info_repository 与relay_log_info_repository

在MySQL 5.6.2之前, slave记录的master信息以及slave应用binlog的信息存放在文件中, 即master.info与relay-log.info. 在5.6.2版本之后, 允许记录到table中. 对应的表分别为mysql.slave_master_info与mysql.slave_relay_log_info, 且这两个表均为innodb引擎表.

4、从库数据初始化 - [optional]

先在主库上备份数据

—master-data=2 该选项将当前服务器的binlog的位置和文件名追加到输出文件中(show master status). 如果为1, 将偏移量拼接到CHANGE MASTER 命令. 如果为2, 输出的偏移量信息将会被注释。

--all-databases 因为基于GTID的复制会记录全部的事务, 所以要构建一个完整的dump这个选项是推荐的

常见错误

当从库导入SQL的时候出现

此时进入从库的MySQL Command Line, 使用reset master即可

5、启动基于GTID的复制

现有master@..0.2和slave@..0.3, 并且已经通过mysqldump将数据同步至从库slave中. 现在在从服务器slave上配置复制链路

启动复制

启动成功后查看slave的状态

当Slave_IO_Running, Slave_SQL_Running为YES,

且Slave_SQL_Running_State 为Slave has read all relay log; waiting for more updates时表示成功构建复制链路

6、总结

优点

因为不用手工设置日志偏移量, 可以很方便地进行故障转移 如果启用log_slave_updates那么从库不会丢失主库上的任何修改

缺点

对执行的SQL有一定限制 仅支持MySQL 5.6之后的版本, 而且不建议使用早期5.6版本

标签: mysql如何实现主从复制的具体流程

本文链接地址:https://www.jiuchutong.com/biancheng/349931.html 转载请保留说明!

上一篇:Centos 6.5下安装MySQL 5.6教程(安装centos6.10)

下一篇:mysql5.6及以下版本如何查询数据库里的json(mysql 5.1.6)

  • 城建税的征税范围不包括农村对不对
  • 制造业税负率怎么计算
  • 固定资产分期付款会计处理
  • 100万劳务费发票多少税
  • 城镇土地使用税的计税依据
  • 当月没有发生购销合同还要报印花税吗
  • 在建工程转固定资产账务处理
  • 企业所得税利润总额和财务报表利润总额不一致
  • 法律责任的具体内容
  • 什么是法?法的本质特征是什么
  • 小规模异地预缴增值税
  • 增值税专用发票的税率是多少啊
  • 地方教育费附加减免政策
  • 蔬菜批发的利润怎么算
  • 营改增的会计分录
  • 回购股票时的会计分录
  • 核定征收个体户怎么报税
  • 政府会计财政拨款收入借贷方向
  • 出售无形资产是什么科目
  • 企业增值税征收范围包括
  • 小程序嵌入h5页面可以不写安全地址吗为什么
  • 单位补扣社保如何操作
  • 单位保洁外包公司收费标准
  • ati2sgag.exe进程安全吗 ati2sgag进程信息查询
  • blender不支持win7
  • 即征即退,先征后退,先征后返的区别?
  • 退回银行本票会计分录
  • 发票联和抵扣联区别
  • 三维重建的主要步骤
  • discuz隐藏查看
  • 主播工资不发
  • 未分配利润为负数怎么调整
  • 茶叶开增值税专用发票,不在申报系统的农副产品类
  • 印花税的缴税对象是
  • 发票开具内容与实际经营范围不符是否合适呢?
  • 个税年度汇算清缴总结
  • 餐饮服务收入的增值税
  • 企业所得税应按季预缴,年末汇算清缴
  • sqlserver的isnull
  • 当月开票可以当月勾选吗
  • 汇算清缴补缴所得税的报税利润表怎么报
  • 工程施工和工程结算对冲有差额的会计分录
  • 结转借贷方向如何计算
  • 主营业务收入净额指的是什么
  • 印花税怎么申报缴纳
  • 利润表期初余额怎么填
  • 企业的融资租赁
  • 兼职费计入什么科目
  • 土地的入账科目
  • 红字专用发票怎么做账
  • 固定资产一次性扣除账务处理
  • 金蝶制造费用明细如何查询
  • 固定资产原值如何计算
  • 简要分析企业购买行为的影响因素
  • mysql案例分析
  • Slave memory leak and trigger oom-killer
  • Sqlserver timestamp数据类使用介绍
  • 使用http_load来给Linux系统的服务器做压力测试
  • win7任务管理器快捷键ctrl+alt+
  • winxp如何设置文件共享
  • win10系统环境设置
  • linux系统加载网卡驱动
  • win8.1开机进入桌面
  • centos搭建服务器
  • mblme是什么进程
  • linux怎么下载安装腾讯Tim?
  • win8.1卸载系统自带应用工具
  • SlidingMenu属性详解【Android】
  • 做网页需要域名吗
  • CSS expression控制图片自动缩放效果代码[兼容 IE,Firefox]
  • jquery.Callbacks的实现详解
  • shell自定义函数以及使用
  • unity平面透明
  • javascript编辑工具
  • 菜鸟 javascript
  • android study
  • python生成器send
  • jquery全选和全不选效果
  • 税务评定等级a是缴纳多少
  • 增值税发票冲红是什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设