mysql5.7配置主从

news2024/9/29 5:28:53
原理:
MySQL主从复制的工作原理如下:

1. 主服务器产生Binlog日志

当主服务器的数据库发生数据修改操作时,如INSERT、UPDATE、DELETE语句执行,主服务器会记录这些操作的日志信息到二进制日志文件中。

2. 从服务器读取Binlog日志 

从服务器会向主服务器发送请求,主服务器把自己产生的Binlog日志信息发送给从服务器。

3. 从服务器应用Binlog日志

从服务器接收到Binlog日志后,会按照日志顺序执行这些日志里记录的操作,使数据库的数据保持一致。

4. IO线程和SQL线程

主从复制在从服务器上有两个线程来完成同步工作:

- IO线程:负责与主服务器通信,拉取二进制日志事件。

- SQL线程:负责解析并执行从IO线程读取的二进制日志事件,使得slave端数据实时与master保持同步。

5. relay log

从IO线程读取到的日志记录会写入中继日志(relay log),然后由SQL线程读取并解析执行,实现数据库操作同步。

6. 并发插入处理

对于并发插入,采用自增步长策略。主从数据库的id生成取不同offset,防止主从id重复。

7. SQL处理

复杂的SQL语句如事务或触发器等,先记录日志,之后在slave端执行,保证数据一致性。

总之,通过主服务器产生binlog日志,从服务器不断拉取并执行,就能实现主从数据实时同步的目的。两台数据库的数据将实时保持一致。

操作:

一、主从复制概述

MySQL主从复制是通过日志同步的方式,实现主库数据库修改同步到从库数据库。它可以用于读写分离、负载均衡、故障恢复等场景。主从复制基于MySQL的binlog日志功能实现。

二、环境准备

采用的MySQL版本为5.7,采用Linux操作系统。主从服务器硬件配置相同,软件环境均安装latest版本MySQL。

三、主库配置

  1. 配置my.cnf开启二进制日志log_bin;
  2. 设置唯一的server_id;
  3. 创建用户与权限用于主从同步;
server-id = 1             #id要唯一
log-bin = mysql-bin         #开启binlog日志
auto-increment-increment = 1   #在Ubuntu系统中MySQL5.5以后已经默认是1
auto-increment-offset = 1 

在这里插入图片描述

四、从库配置

  1. 配置my.cnf开启二进制日志;
  2. 设置唯一的server_id;
  3. 创建用户与权限用于主从同步;
server-id = 3             #这个设置3
log-bin = mysql-bin         #开启binlog日志
auto-increment-increment = 1   #这两个参数在Ubuntu系统中MySQL5.5以后都已经默认是1
auto-increment-offset = 1 

在这里插入图片描述

五、数据同步
主库锁表操作:
FLUSH TABLES WITH READ LOCK
5. 在主库使用mysqldump备份数据;
mysqldump -uroot -p123 --routines --single_transaction --master-data=2 --databases weibo > weibo.sql
6. 恢复备份到从库;
7.source /tmp/ weibo.sql;
8. 查看日志位点信息; SHOW MASTER STATUS;
在这里插入图片描述

  1. 从库配置变更点同步主库; SHOW SLAVE STATUS\G
    在这里插入图片描述

  2. 启动从库IO、SQL线程;
    在这里插入图片描述UNLOCK TABLES;

六、验证同步
在这里插入图片描述

查看Slave状态变量是否一致,在从库查看是否同步新增数据

七、处理常见问题

断线后自动同步、binlog错误处理、SQL线程报错等问题解决办法

八、总结

此次通过mysqldump+binlog日志方式实现了MySQL主从配置,支持读写分离和故障恢复。

以上内容系统性地介绍了MySQL主从配置的全过程,可作为主从实践参考。如有不足,还请指出,共同进步。

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

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

相关文章

JVM(6)

JMM JVM定义了一种Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果.在此之前,C/C直接使用物理硬件和操作系统的内存模型,因此,会由于不同平台下的内存模型差异,有可能导致程序在一套平台上并发完全正常,而在另…

Unity曲柄滑块四杆机构运动计算

一、运动效果 二、机构的介绍 曲柄长度:a,线段AB长度 连杆长度:b,线段BC长度 偏心距离:e,滑块轨迹与曲柄中心点A的垂直距离 三、已知点A点B和e的值,计算C点的位置 1、计算s的值 var h math.…

绝望的C#:Task是个良好的设计吗?

我对高级语言的异步机制总感到理解起来比较困难。明确的创建任务、等待任务不好吗? 执行异步调用的方法返回一个Task是很正常的,很容易理解,但是Task.Result为什么导致阻塞呢? 一个属性,而不是一个方法,竟然…

Python算法题集_单词搜索

Python算法题集_单词搜索 题22:单词搜索1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【原始矩阵状态回溯】2) 改进版一【字典检测原始矩阵状态回溯】3) 改进版二【矩阵状态回溯】 4. 最优算法5. 相关资源 本文为Python算法题集之一…

鸿蒙开发案例:进京赶考(5)完结

系列文章目录 鸿蒙开发案例:进京赶考(1) 鸿蒙开发案例:进京赶考(2) 鸿蒙开发案例:进京赶考(3) 鸿蒙开发案例:进京赶考(4) 鸿蒙开…

ifcplusplus 示例 函数中英文 对照分析以及流程图

有需求,需要分析 ifc c渲染,分析完,有 230个函数,才能完成一个加载,3d加载真的是大工程! 示例代码流程图 函数中英文对照表,方便 日后开发,整理思路顺畅!!&am…

KubeSphere平台安装系列之三【Linux多节点部署KubeSphere】(3/3)

**《KubeSphere平台安装系列》** 【Kubernetes上安装KubeSphere(亲测–实操完整版)】(1/3) 【Linux单节点部署KubeSphere】(2/3) 【Linux多节点部署KubeSphere】(3/3) **《KubeS…

个人项目介绍2:地球卫星篇

项目需求: 在项目中显示三维地球及主要城市标注,接收服务端发来的实施卫星数据,显示卫星姿态角,陀螺角,飞轮等数据;可自定义模拟产生更多卫星轨迹;可模拟显示卫星躲避陨石动画;可展…

【文献管理】zotero插件4——获取知网pdf、中文文献识别与目录生成

文章目录 zotero获取知网PDFzotero——中文文献识别(茉莉花插件)学位论文目录生成 zotero获取知网PDF zotero——中文文献识别(茉莉花插件) 为下载的学位论文添加目录中文文献识别:jasminum 下载pdflabs下载茉莉花插…

标准库中的String类 String(C++)【3】

文章目录 String常用的接口(黑框标记的是常用接口)数据访问operator:at:back:front: 数据修改push_back:append:operator:assigen:insert:erase:replace:注意事项 String常用的接口(黑框标记的是常用接口) 数据访问 operator: 返…

智能物联时代下RFID技术在汽车零部件智能制造中的引领作用

RFID(Radio Frequency Identification,射频识别)技术在汽车零部件加工中有广泛的应用,其工作原理是通过无线电频率进行自动识别。在汽车零部件加工中,RFID技术可以发挥重要作用,提高生产效率、降低成本和减…

【5G 接口协议】GTP-U协议介绍

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…

【虚拟机安装centos7后找不到网卡问题】

最近开始学习linux,看着传智播客的教学视频学习,里面老师用的是centos6.5,我这边装的是centos7最新版的 结果到了网络配置的这一节,卡了我好久。 我在centos一直找不到我的网卡eth0,只有一个回环网口,在/…

集成2.5G/5G/10G高速率网络变压器的RJ45网口连接器产品特点介绍

Hqst华轩盛(石门盈盛)电子导读:集成2.5G/5G/10G高速率网络变压器的RJ45网口连接器产品特点介绍: 第一、 高速率:支持高达2.5Gbps、5Gbps和10Gbps的传输速率,能够满足高带宽的网络应用需求。 第二、 集成2.5G/5G/10G高速率网…

编写dockerfile挂载卷、数据容器卷

编写dockerfile挂载卷 编写dockerfile文件 [rootwq docker-test-volume]# vim dockerfile1 [rootwq docker-test-volume]# cat dockerfile1 FROM centosVOLUME ["volume01","volume02"]CMD echo "------end------" CMD /bin/bash [rootwq dock…

Spring框架相关问题

Spring框架相关问题 一、Spring容器中的Bean是线程安全的吗?二、如何保证Spring容器中的Bean是线程安全的呢?三、什么情况下会触发Spring事务回滚?四、如果事务方法抛出IOException,是否会触发Spring事务回滚?五、什么…

在线简历制作网站免费推荐收藏备用

今天给大家推荐一个很实用的网站,对于要毕业的同学或者说跳槽的朋友比较有作用,对,就是一个免费方便的在线简历制作网站。其实免费的简历制作网站很多,但好用的良心的其实并不多,今天要推荐的这个虽然模板不算多&#…

1.2 在卷积神经网络中,如何计算各层感受野的大小

1.2 在卷积神经网络中,如何计算各层感受野的大小 分析与解答: 在卷积神经网络中,由于卷积的局部连接性,输出特征图上的每个节点的取值,是由卷积核在输入特征图对应位置的局部区域内进行卷积而得到的,因此这…

sql注入之sqli-labs/less-3 单引号加括号闭合

输入单引号试探: id1 报错信息里面出现 ) 说明闭合符合里面还有个 ) 再次试探:id1 ) order by 3 -- 查看回显位置: id-1%20%27)%20union%20select%201,2,3%20-- 查看数据库: id-1%20%27)%20union%20select%201,2,database()%2…

PDF 解析问题调研

说点真实的感受 :网上看啥组件都好,实际测,啥组件都不行。效果好的不开源收费,开源的效果不好。测试下来,发现把组件融合起来,还是能不花钱解决问题的,都是麻烦折腾一些。 这里分享了目前网上能…