Mysql运维篇(二) 主从复制

本文详细介绍了MySQL主从复制的原理、环境准备、配置步骤和测试数据同步过程,包括主从复制的优缺点,以及在部署过程中需要注意的事项,如版本一致性、server_id的唯一性和网络要求。此外,还探讨了主从复制中的延时问题及其可能的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人,如有侵权请留言,我及时删除。

一、主从复制的原理

主库会生成一个I/O操作线程进去写的的操作,而从库则生成两个线程,其一是I/O读取线程,其二是一个SQL线程。

1、主库将数据的操作记录到一个二进制日志中(即:binary log),也就是配置文件中指定的log-bin指定的文件就是日志文件。

2、从库将主库的日志文件拷贝到他的中继日志即配置文件中指定的relay log日志文件中,I/O线程去请求主库的bin-log日志,并将日志写入到relay log中继日志中,此时主库会生成一个log dump线程,用来给从库I/O线程传输bin-log日志件。

3、从库会更新relay log文件中的操作,将数据的改变在从库中进行数据重演即重新执行一次,即SQL线程执行操作,将日志文件中的记录变为数据操作行为再次执行,以达到主从数据最终一致性的目的。

4、需要注意的是主从复制需要大量的I/O操作,所以延时是不可避免的。

二、主从复制原理图

1、主从复制的流程图

2、主从复制的优点

三、环境准备工作

准备两台服务器(模拟一主一从),并安装相同版本的MySQL数据库。

主库(master)地址:192.168.10.212 端口:3306。

从库(slave)地址:197.168.197.213 端口:3306。

版本:MySQL 8.0.25。

准备工作注意事项:

1、 每个master可以有多个slave,每个slave只属于一个master;

2、 数据库的版本必须保证一致;

3、 主库与从库中配置文件中的server_id都必须唯一。

4、硬件配置,操作系统必须保持一致

5、网络带宽满足业务要求,避免网络延迟过长

四、开始部署

1、MySQL-master 修改配置文件,重启服务

[root@master etc]# vi my.cnf

-----新增配置-----

server-id=1
read-only=0
------------------------------

1.1、创建登录MySQL,创建远程连接的账号,并授予主从复制的权限

USE mysql;
CREATE USER 'itcast'@'%' IDENTIFIED WITH mysql_native_password BY 'Ops7565!#!#';
GRANT REPLICATION SLAVE ON *.* TO 'itcast'@'%';
SHOW MASTER STATUS;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值