基于GTID的mysql主从简单复制

一、简单主从模式配置步骤

1、配置主从节点的服务配置文件

1.1、配置master节点:
[mysqld]
binlog-format=ROW
log-bin=master-bin
log-slave-updates=true
gtid-mode=on
enforce-gtid-consistency=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-workers=2 在MariaDB 中是slave-parallel-threads 多线程复制
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
server-id=1
report-port=3306
port=3306
datadir=/mydata/data
socket=/tmp/mysql.sock
report-host=master.magedu.com(注意这里填的是本机的主机名)

1.2、配置slave节点:
[mysqld]
binlog-format=ROW
log-slave-updates=true
gtid-mode=on
enforce-gtid-consistency=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-workers=2    在MariaDB 中是slave-parallel-threads
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
server-id=11
report-port=3306
port=3306
log-bin=mysql-bin.log
datadir=/mydata/data
socket=/tmp/mysql.sock
report-host=slave.magedu.com

2、创建复制用户

mysql> GRANT REPLICATION SLAVE ON *.* TO repluser@172.16.100.7 IDENTIFIED BY 'replpass';

说明:172.16.100.7是从节点服务器;如果想一次性授权更多的节点,可以自行根据需要修改;

3、为备节点提供初始数据集

锁定主表,备份主节点上的数据,将其还原至从节点;如果没有启用GTID,在备份时需要在master上使用show master status命令查看二进制日志文件名称及事件位置,以便后面启动slave节点时使用。

4、启动从节点的复制线程

如果启用了GTID功能,则使用如下命令:
mysql> CHANGE MASTER TO MASTER_HOST='master.magedu.com', MASTER_USER='repluser', MASTER_PASSWORD='replpass', MASTER_AUTO_POSITION=1;

没启用GTID,需要使用如下命令:
slave> CHANGE MASTER TO MASTER_HOST='172.16.100.6',
-> MASTER_USER='repluser',
-> MASTER_PASSWORD='replpass',
-> MASTER_LOG_FILE='master-bin.000003',
-> MASTER_LOG_POS=1174;

二、半同步复制

1、分别在主从节点上安装相关的插件

master> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
slave> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

2、启用半同步复制

在master上的配置文件中,添加
rpl_semi_sync_master_enabled=ON

在至少一个slave节点的配置文件中添加
rpl_semi_sync_slave_enabled=ON

而后重新启动mysql服务即可生效。

或者,也可以mysql服务上动态启动其相关功能:

master> SET GLOBAL rpl_semi_sync_master_enabled = ON;
slave> SET GLOBAL rpl_semi_sync_slave_enabled = ON;
slave> STOP SLAVE IO_THREAD; START SLAVE IO_THREAD;

3、确认半同步功能已经启用

master> CREATE DATABASE magedudb;
master> SHOW STATUS LIKE 'Rpl_semi_sync_master_yes_tx';

slave> SHOW DATABASES;

转载于:https://www.cnblogs.com/gohrx/p/10784369.html

第九周LINUX 学习笔记相关推荐

  1. 最热网友收藏:写得蛮好的linux学习笔记(2007年第10周)

    2007年第10周最热网友收藏 上班人员必读:"五险一金"详解!(130),共376人收藏,liukang520236首先收藏 写得蛮好的linux学习笔记-(96),共159人收 ...

  2. LINUX学习笔记:31个常用LINUX命令和相关解释

    LINUX学习笔记三: 最近在带新同事,是一个刚入行的萌新,对于linux不是很熟悉,问我怎么来学习. 所以今天接着之前的部分,继续分享一些linux学习资料.有需要的点点保存,没有跳过呗.PS:内容 ...

  3. 厚基础Linux——学习笔记(一)

    厚基础Linux--学习笔记(一) 命令清单 本期命令 history 问题一:命令执行记录需要详细的执行时间 问题二:某些命令带有隐私信息,不希望被记录下来 history -c history - ...

  4. 大数据开发工程师基本功修炼之史上最全Linux学习笔记(建议)

    我正在参加年度博客之星评选,请大家帮我投票打分,您的每一分都是对我的支持与鼓励. 2021年「博客之星」参赛博主:Maynor大数据 (感谢礼品.红包免费送!) https://bbs.csdn.ne ...

  5. Cty的Linux学习笔记(九)

    Linux学习笔记--第九篇 命令(command): df(disk filesystem):用于查看已挂载的磁盘的总容量,使用容量,剩余容量,不可以加任何参数 -i:表示查看inodes的使用情况 ...

  6. Linux学习笔记(3月6日)

    5.26-5.40 Shell脚本编程 什么是Shell:   Shell首先是UNIX/Linux下的脚本编程语言,它是解释执行的,无需提前编译.Shell的语法细节和大部分编程语言都不太一样,需要 ...

  7. linux rcs文件中的ip,linux学习笔记之diff和patch命令

    关键字:Linux 学习笔记 运维 系统 命令 一.命令的功能 diff命令的功能为逐行比较两个文本文件,列出其不同之处.可是做成diff记录也就是补丁. patch就是利用diff制作的补丁来打到文 ...

  8. (零)我为什么要写Linux学习笔记?

    我对Linux有强烈的好奇心,兴趣:写学习笔记会让我有成就感:我记忆力实在不好.好吧,其实真正原因是:如果我能把自己学到的知识简明扼要的讲出来,写出来,那便证明我真的学懂了我想学的知识.没时间怎么办? ...

  9. linux添加自己的库,Linux学习笔记——例叙makefile 增加自定义共享库

    Linux学习笔记--例说makefile 增加自定义共享库 0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己 ...

最新文章

  1. Docker在公有云的应用处理能力
  2. instancesRespondToSelector与respondsToSelector的区别
  3. watchdog应用实例
  4. layui 动态添加 表格数据
  5. 算法相关(2)-单向链表
  6. 史上最完整的iOS DIY framework 详细教程(一)
  7. 项目开发一些注意事项
  8. 前端学习(1684):前端系列实战课程之判断游戏结束
  9. Python笔记-Flask结合SQLAlchemy查询MySQL数据库
  10. 搭建Windows server 2008 R2 KMS
  11. Windows Phone 实用开发技巧(18):使用SystemTray显示全局消息提醒
  12. 计算机美化照片教案,美化你的桌面 教案
  13. 麦肯锡指出布局金融生态圈对中国国内银行意义重大
  14. post和php input,PHP“php:/Input”vs$POST
  15. 将windows c盘安装在linux,将WindowsC盘hda1安装在Linux文件系统的/winsys目录下,命令是()。...
  16. 各种数字显示屏接口:LVDS, DVI, HDMI, DisplayPort, DSI
  17. man ifconfig时提示:-bash: man: command not found
  18. 如何获得静态IP资源?
  19. ARTS-24 字符串互异
  20. 《我爱我的祖国》受捧 再现专线另类舌尖上中国

热门文章

  1. [POJ 2503] Babelfish【二分查找】
  2. 算法总结之 生成窗口的最大值数组
  3. 机器学习:监督学习和无监督学习
  4. Move Zeroes
  5. Sql Server 语句集合
  6. eclipse 项目导入时报错invalid project description
  7. Datalist嵌套以及属性生成器和页面样式
  8. cocos2dx setVisible 与setEnabled 小实例
  9. 大数据之-Hadoop优势_(4高)---大数据之hadoop工作笔记0011
  10. 微服务升级_SpringCloud Alibaba工作笔记0019---Nacos之服务配置中心