MySql主从复制原理及部署

news2024/11/25 10:53:01

MySql主从复制

原理:

在这里插入图片描述

1、Master节点开启binlog,并将变动记录到binlog中;

2、Slave节点定期探测Master节点的binlog,如有变动,开启I/O线程向Master节点请求二进制事件;

3、Master节点为每一个I/O线程启动一个dump线程,用于向其发送二进制事件,并保存至Slave节点的中继日志(Relaylog)中,Slave节点会启动一个sql线程从中继日志中读取二进制日志,在本地重放,即解析成sql语句逐一执行。

mysq支持的复制类型

(1) STATEMENT:
  • 基于语句的复制。在服务器上执行sql语句,在从服务器上执行同样的语句,mysql默 认采用基于语句的复制,执行效率高。
(2)ROW:
  • 基于行的复制。把改变的内容复制过去,而不是把命令在从服务器上执行一遍。
(3) MIXED:
  • 混合类型的复制。默认采用基于语句的复制,一 旦发现基于语句无法精确复制时,就会采用基于行的复制。

部署注意事项

0、安装mysql(略)

1、时间同步

##主服务器设置##
yum install ntp -y
 
vim /etc/ntp. conf
--末尾添加--
server 127.127.80.0           #设置本地是时钟源,注意修改网段
fudge 127.127.80.0 stratum 8               #设置时间层级为8 ( 限制在15内)
 
service ntpd start
 
##从服务器设置##
yum install ntp ntpdate -Y .
service ntpd start
/usr/sbin/ntpdate 192.168.1.10          #进行时间同步
 
crontab -e
*/30****/usr/sbin/ntpdate 192.168.1.10

2、配置

2.1 Master节点
  • 修改完配置需要重启mysql
#(必选)配置server-id,保证主从不一致
server-id = 11
#(必选)添加,主服务器开启二进制日志
log-bin=mysql-bin
#(可选)设置复制类型
binlog_ format = MIXED
#(可选)添加,允许slave从master复制数据时可以写入到自己的二进制日志
log-slave -updates=true  
#(可选)设置二进制日志文件过期时间,避免占用大量磁盘空间,默认值为0,表示logs不过期
expire_ logs_ days = 7   
#(可选)设置二进制日志限制大小,如果超出给定值,日志就会发生切割,默认值是1GB
max_ binlog_ size = 500M  
2.2 Slave节点
  • 修改完配置需要重启mysql
#(必选)配置server-id,保证主从不一致
server-id = 22
#(必选)添加,开启中继日志,从主服务器上同步日志文件记录到本地
relay-log=relay-log-bin
#(可选)添加,定义中继日志文件的位置和名称,一般 和relay-log在同一目录
relay-log-index=slave-relay-bin.index
#(可选)当slave从库宕机后,假如relay-log 损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的relay-log, 并且重新从master. 上获取日志,这样就保证了relay-log 的完整性。默认情况下该功能是关闭的,将relay_ 1og_ recovery 的值设置为1时,可在slave从库上开启该功能,建议开启。
relay_1og_recovery = 1 

3、设置主从

3.1 Master节点
#创建同步账号并授权
mysql> GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.1.8' IDENTIFIED BY '*****';     #给从服务器授权
mysql> FLUSH PRIVILEGES;

#查看master节点状态,并记录文件名和Position值
mysql> show master status ;
//如显示以下
| File| Position | Binlog_ _Do_ _DB | Binlog_ Ignore_ DB I
----+----------+--------------+------------------+
| mysql-bin.000002 I   339 |
 
----+----------+--------------+------------------+
3.2 Slave节点
#配置同步,注意master_log_file和master_log_pos的值要与Master查询的一致
mysql> CHANGE master to master_host='192.168.1.10' , master_user= ' myslave' , master_ password=' **** , master_1og_file=' mysql-bin.000002' , master_log_pos=339;   

#启动同步,如有报错执行reset slave;
mysql> start slave;

4、验证

#查看Slave状态
mysql> show slave status\G;  
 
#验证: 确保IO和SQL线程都是Yes, 代表同步正常
#负责与主机的io通信
Slave_IO_Running: Yes
#负责自己的slave mysql进程
Slave_SQL_Running: Yes        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/460046.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

win10卸载MySQL8.0

停止MySQL服务 shiftctrlesc打开任务管理器 将MySQL服务停止,这里我只有一个MySQL服务,如有多个MySQL服务,也要全部停止掉。 卸载mysql server等设备 控制面板 -》程序 -》 程序和功能,将mysql server等设备卸载掉,好…

SpringCloudAlibaba服务熔断、限流——Sentinel

Sentinel 本专栏学习内容来自尚硅谷周阳老师的视频 有兴趣的小伙伴可以点击视频地址观看 简介 Sentinel是Alibaba公司推出的一个熔断与限流工具,相当于我们之前学习的Hystrix,可以解决服务使用中的各种问题,例如:服务雪崩、服务降…

minigpt4搭建过程记录,简单体验图文识别乐趣

引言 从3月开始,aigc进入了疯狂的开端,正如4月12日无界 AI直播 在《探索 AIGC 与人类合作的无限可能》中关于梳理的时间线一样,aigc的各种产品如雨后春笋般进入了不可逆的态势,里面有句话很形象,人间一日,…

信息收集(四)服务器信息收集

信息收集(一)域名信息收集 信息收集(二)IP信息收集 信息收集(三)端口和目录信息收集 WAF指纹识别 什么是WAF WAF的全称是(Web Application Firewall )Web 应用防火墙用来过滤HTTP…

最新国内免费chatgpt 的试用方法

方式一: 免费账号: 地址:gpt-easy.com 账号test666, 666666 方式二: wheart.cn 每3小时15次调用 方式三: Microsoft Edge 插件,每天30次免费 方式四: wetab插件,多源切换&am…

StarRocks 3.0 集群安装手册

本文介绍如何以二进制安装包方式手动部署最新版 StarRocks 3.0集群。 什么是 StarRocks StarRocks 是新一代极速全场景 MPP (Massively Parallel Processing) 数据库。StarRocks 的愿景是能够让用户的数据分析变得更加简单和敏捷。用户无需经过复杂的预处理,就可以…

2023年五月份图形化三级打卡试题

活动时间 从2023年5月1日至5月21日,每天一道编程题。 本次打卡的规则如下: 小朋友每天利用10~15分钟做一道编程题,遇到问题就来群内讨论,我来给大家答疑。 小朋友做完题目后,截图到朋友圈打卡并把打卡的截图发到活动群…

Android硬件通信之 GPIO通信

一,为什么要和硬件通信 1.1,做软件开发的可能大多只是在手机上做服务器/客户端这种应用,说白了这些只是对数据的处理,对数据做存储和读取,以及分析的工作。 1.2 但随着智能领域的发展,人们已不满足手动去…

医院核心数据库一体化建设实践

建设背景 “以数据为核心资源的数字化时代,正在成为引领和推动新一轮科技革命的核心力量,将会深刻影响卫生健康行业。” 这是四月份发布的《公立医院运营管理信息化功能指引》中对数据重要性的描述。数据库作为数据的载体,支撑着整个业务系…

李清照最经典的10首诗词

在三千年的诗歌艺术中,男人一直是绝对的主角,虽然时常有女诗人,却如流星闪过。 一直到宋代,李清照的横空出世,给文坛带来一股清风。 她被誉为“千古第一才女”,她的诗词可柔美、可刚毅。 有人将她与李煜…

android studio RadioButton单选按钮

1.定义 <!--单选按钮--> <TextViewandroid:layout_marginTop"10dp"android:layout_width"match_parent"android:layout_height"wrap_content"android:text"请选择你的性别&#xff1a;"> </TextView> <RadioGrou…

3年外包终上岸,我只能说这类公司能不去就不去····

我大学学的是计算机专业&#xff0c;毕业的时候&#xff0c;对于找工作比较迷茫&#xff0c;也不知道当时怎么想的&#xff0c;一头就扎进了一家外包公司&#xff0c;一干就是3年。现在终于跳槽到了互联网公司了&#xff0c;我想说的是&#xff0c;但凡有点机会&#xff0c;千万…

广州华锐互动:超写实3d虚拟数字人为多行业场景赋能

超写实3d虚拟数字人是一种高度逼真的虚拟人物形象&#xff0c;其主要是通过计算机技术对人物形象进行建模、渲染和动画制作&#xff0c;达到和真实人物相似的效果。在现代科技的推动下&#xff0c;超写实3d虚拟数字人已经得到广泛应用。 以下是其常见的实用功能&#xff1a; 商…

20230425-VS2019-在线安装C++17

一、软件环境 windows 10 x64 21H2 19044.2846 最后升级时间&#xff1a;2023-04-25 11:19:33 二、下载VS2019 官方下载&#xff1a; 打开官网&#xff1a; https://visualstudio.microsoft.com/zh-hans/vs/older-downloads 展开VS2019&#xff0c;选择【下载】&#xff…

数据流重定向(>,>>)(<,<<)(2>,2>>)

文章目录 数据流重定向什么是数据流重定向标准输出(>,>>)与标准错误输出(2>,2>>)/dev/null垃圾桶黑洞设备与特殊写法标准输入&#xff1a;<与<< 为什么要使用命令输出重定向呢&#xff1f;案例 数据流重定向 数据流重定向由字面意思来看&#xff0…

本地缓存解决方案Caffeine | Spring Cloud 38

一、Caffeine简介 Caffeine是一款高性能、最优缓存库。Caffeine是受Google guava启发的本地缓存&#xff08;青出于蓝而胜于蓝&#xff09;&#xff0c;在Cafeine的改进设计中借鉴了 Guava 缓存和 ConcurrentLinkedHashMap&#xff0c;Guava缓存可以参考上篇&#xff1a;本地缓…

分布式消息队列Kafka(三)- 服务节点Broker

1.Kafka Broker 工作流程 &#xff08;1&#xff09;zookeeper中存储的kafka信息 ​ 1&#xff09;启动 Zookeeper 客户端。 [zrclasshadoop102 zookeeper-3.5.7]$ bin/zkCli.sh ​ 2&#xff09;通过 ls 命令可以查看 kafka 相关信息。 [zk: localhost:2181(CONNECTED) 2]…

ES6 新特性的let--const 解构赋值--模板字符串--对象相关新特性--箭头函数--综合代码示例

目录 ES6 新特性 ES6 基本介绍 ES6 是什么? let 声明变量 演示 let 的基本使用 注意事项和使用细节 代码演示 : const 声明常量/只读变量 应用实例 注意事项和使用细节 解构赋值 基本介绍 应用实例-数组解构 应用实例-对象解构 模板字符串 基本介绍 应用实例…

一次说透,4大服务性幂等场景架构设计方案!

服务幂等性架构设计 作者: 博学谷狂野架构师GitHub&#xff1a;GitHub地址 &#xff08;有我精心准备的130本电子书PDF&#xff09; 只分享干货、不吹水&#xff0c;让我们一起加油&#xff01;&#x1f604; 防重表实现幂等 对于防止数据重复提交&#xff0c;还有一种解决方案…

delta.io 数据湖 checkpoint是什么

checkpoint的直观表现 插入操作 --- /tmp/delta-table/_delta_log 路径下文件的作用 delta-table 是表名 我执行的操作: INSERT OVERWRITE delta.`/tmp/delta-table` SELECT col1 as id FROM VALUES 7,22; 对应的操作日志: /tmp/delta-table/_delta_log/00000000000000…