mysql5.7配置主从

原理:
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.hqwc.cn/news/509004.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

护眼灯真能护眼吗?保护视力必入的五款护眼台灯

自从入手了护眼台灯后,我深深感受到了它使用的便捷性和舒适性。它不仅为学习和工作环境提供了充足的光线,确保能在明亮的环境中专注于任务,而且其光线柔和,极大地减轻了对眼睛的压力。同时,护眼台灯的防蓝光措施做得相…

uniapp开发android原生插件

一、下载原生开发SDK Android 离线SDK - 正式版 | uni小程序SDK (dcloud.net.cn)、 https://nativesupport.dcloud.net.cn/AppDocs/download/android.html 将开发uniappa原生android的插件解压到ben本地目录,目录结构如下: 接下就可以使用 UniPlugin-Hel…

在 Linux 环境下安装 Kibana

目录 一、Kibana 是什么 二、在 Linux 环境下安装 Kibana 1、下载安装包 2、解压 3、修改 Kibana的配置文件 config/kibana.yml 4、启动 5、浏览器登录 Kibana 6、测试查询 一、Kibana 是什么 Kibana 是通向 Elastic 产品集的窗口。 它可以在 Elasticsearch 中对数据进…

学习408之数据结构--线性表-顺序表 学会动态顺序表的创建

线性表 线性表(inear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串等 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定…

IP地址定位技术能精确到街道级别吗?

IP地址定位技术可以精确到街道级别,但这并不是普遍情况。IP地址定位的精度受到多种因素的影响,包括IP地址库的准确性、网络延迟、地理位置数据的更新频率等。此外,大多数网络用户都是使用动态IP上网,这也会增加定位的难度。 IP地址…

wordpress外贸独立站

WordPress外贸电商主题 简洁实用的wordpress外贸电商主题,适合做外贸跨境的电商公司官网使用。 https://www.jianzhanpress.com/?p5025 华强北面3C数码WordPress外贸模板 电脑周边、3C数码产品行业的官方网站使用,用WordPress外贸模板快速搭建外贸网…

jetson nano——编译安装cmake(全局+图文)

目录 1.安装openssl2.源码编译安装OpenSSL3.编译安装cmake3.1卸载旧版本的cmake3.2.下载源码3.3解压3.4进入解压后的目录3.5配置路径3.5.1指定openssl路径3.5.2配置路径 3.6编译3.7安装3.8编辑环境变量3.9确定是否成功安装 系统:jetson-nano-jp451-sd-card-image ub…

[JavaWeb玩耍日记]HTML+CSS+JS快速使用

目录 一.标签 二.指定css 三.css选择器 四.超链接 五.视频与排版 六.布局测试 七.布局居中 八.表格 九.表单 十.表单项 十一.JS引入与输出 十二.JS变量,循环,函数 十三.Array与字符串方法 十四.自定义对象与JSON 十五.BOM对象 十六.获取…

安泰功率放大器的应用领域介绍

随着现代科技的快速发展,功率放大器已经成为各种电子设备中不可或缺的组成部分。它可以将低功率的信号放大为高功率的信号,使得信号能够更远地传输,更好地驱动各种负载。因此,在许多领域中,功率放大器都扮演着重要角色…

Achronix以创新FPGA技术推动智能汽车与先进出行创新

全球领先的高性能现场可编程门阵列(FPGA)和嵌入式FPGA(eFPGA)半导体知识产权(IP)提供商Achronix Semiconductor公司宣布,该公司将参加由私募股权和风险投资公司Baird Capital举办的“Baird车技术…

Redis-基础篇

Redis是一个开源、高性能、内存键值存储数据库,由 Salvatore Sanfilippo(网名antirez)创建,并在BSD许可下发布。它不仅可以用作缓存系统来加速数据访问,还可以作为持久化的主数据存储系统或消息中间件使用。Redis因其数…

品牌与时间函数:在时间的长河中铸造品牌

品牌推广是一个与时间紧密相连的复杂过程。时间不仅是品牌推广的见证者,更是其推动者和塑造者。迅腾文化深刻理解品牌推广与时间之间的微妙关系,提出的“显”的原则,旨在通过巧妙的策略,使品牌在时间的流转中逐渐显现出其特别的魅…