位置: 编程技术 - 正文

详解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)

  • 工厂房租没有发票怎么办
  • 交易性金融资产的交易费用计入哪里
  • 外汇结汇成人民币违法吗
  • 会计核算是否健全 填错了有影响吗
  • 投资性房地产递延所得税资产怎么算
  • 对公账户是不是实时到账
  • 公司现金支票取钱需要带什么资料
  • 以前年度损益调整结转到哪里
  • 货到发票没到
  • 未收回质保金是否需要交纳增值税呢?
  • 房地产企业土地成本分摊方法
  • 未收到增值税专用发票
  • 土地使用权如何办理
  • 解聘职工赔偿工资包括哪些
  • 企业接受固定资产投资
  • 固定资产的入账价值怎么计算
  • 维护费可以留到明年抵扣吗?
  • 信用等级D可以贷款吗
  • 餐听发票可以开专用发票吗?
  • 企业自主招聘有编制吗
  • 长期股权投资涉及或有对价的帐务处理
  • 购买国债兑现时要交税吗
  • 用钱买的代金券怎么使用
  • 计提增值税的账务处理小规模
  • 流动资产的损失计入哪里
  • 软件行业的收入怎么样
  • 小规模建筑公司可以开劳务发票吗
  • 固定资产进项税额怎么做账
  • 当月的费用次月入账可以么
  • 小规模纳税人免增值税的账务处理
  • 生产企业委外加工比例出口免抵退税
  • 销户余额转出总公司怎样记账
  • 高新企业研发费用会计分录
  • php-cgi
  • redis网络模型 框架图
  • 保险中介市场现状和基本特点
  • 生产性生物资产折旧计入什么科目
  • 前端手撕代码
  • mysql+php
  • 关于差额征税的账务处理
  • 营业收入小于利息收入
  • python中删除字典里的空项目
  • 购买保健食品
  • 织梦使用教程
  • 施工企业预缴税款
  • 百旺税控盘会自动清卡吗
  • 付了工资的资产负债表怎么填
  • 承兑汇票是属于什么科目
  • 事业单位破产清算开户流程
  • 稳岗补贴操作流程
  • 扣缴个人所得税报告表
  • 怎样申请开发票
  • 实收资本认缴怎么做账,要做账吗
  • 组织机构代码证图片
  • sql语句查询有多少条数据
  • sqlserver 断开数据库连接
  • win10文字模糊怎么调整
  • linux系统中的脚本文件一般以什么开头
  • 电脑主板bios设置图解
  • win8.1 升级
  • xp系统强制删除文件
  • centos dvd安装
  • win8如何到桌面
  • Win10打开浏览器就未响应
  • 电脑window8系统怎么样
  • win10生物识别
  • vim多行匹配
  • cocos屏幕适配方案
  • 利用用英文怎么翻译
  • ajax multipart/form-data
  • jquery控制display属性
  • vue router使用query和params传参的使用和区别
  • js中递归是什么意思
  • js面向对象的几种方式
  • javascript 进阶篇2 CSS XML学习
  • unity中sendmessage
  • 如何退契税网上申请
  • 新都税务局咨询电话
  • 铜进口量2019
  • 百旺税控盘怎么安装开票软件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设