欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > MySQL主从同步

MySQL主从同步

2025/9/28 10:58:53 来源:https://blog.csdn.net/m0_73907449/article/details/145263383  浏览:    关键词:MySQL主从同步

一、关于主从同步

1、mysql 主从复制原理

  MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。

  主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执行这些日志中的操作。

2、工作过程

  1. 主服务器日志记录:主服务器在执行数据更新操作(如 INSERT、UPDATE、DELETE)时,会将这些操作记录到二进制日志(binlog)中。
  2. 从服务器连接主服务器:从服务器通过配置的主服务器信息(如 IP、端口、用户名、密码等),建立与主服务器的连接。
  3. 从服务器 I/O 线程工作:从服务器启动 I/O 线程,该线程连接到主服务器,请求主服务器发送二进制日志。主服务器收到请求后,通过二进制日志 Dump 线程将二进制日志事件发送给从服务器的 I/O 线程。I/O 线程接收到日志事件后,将其写入到从服务器的中继日志(relay log)中。
  4. 从服务器 SQL 线程工作:从服务器的 SQL 线程会读取中继日志中的事件,并在从服务器上重放这些事件,从而实现数据的同步。SQL 线程按照中继日志中记录的顺序执行 SQL 语句,使从服务器的数据与主服务器保持一致。

3、为什么要做主从复制

灾备

数据分布

负载平衡

读写分离

提高并发能力

4、MySQL复制常用的拓扑结构

主从类型(Master-Slave)

主主类型(Master-Master)

级联类型(Master-Slave-Slave)

二、基于gtid的主从同步配置

1、准备工作

        三台还原初始配置的主机

主机名IP地址主从关系
open-2192.168.183.11
open-1192.168.183.12
open-3192.168.183.13

        三台主机同时安装并启动MySQL服务:

 yum install -y mysql-serversystemctl enable --now mysqld

2、配置主从

主库配置:

配置文件:
[root@openEuler-2 ~]# vim /etc/my.cnf.d/mysql-server.cnf 
在末尾加入
server_id=11
gtid_mode=ON
enforce-gtid-consistency=ON

# 重启服务
[root@openEuler-1 ~]# systemctl restart mysqld# 授权用户
[root@openEuler-1 ~]# mysql
mysql> create user yx@'192.168.183.%' identified with mysql_native_password by '123456';
mysql> grant replication slave on *.* to rep@'192.168.183.%';

从库配置:

两台从服务器配置相同,以open-1为例

[root@openEuler-1 ~]# vim /etc/my.cnf
[root@openEuler-1 ~]# vim /etc/my.cnf.d/mysql-server.cnf
server_id=12
gtid_mode=ON
enforce-gtid-consistency=ON
[root@openEuler-1 ~]# systemctl restart mysqld
[root@openEuler-1 ~]# mysqlmysql> change replication source to-> source_host='192.168.183.11',-> source_user='yx',-> source_password='123456',-> source_auto_position=1;mysql> start slave;mysql> show slave status \G

3、测试

主库

从库

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词