MySQL主从配置

news/2025/1/22 19:20:06/

一、 主从原理

MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执行这些日志中的操作。

二、主从复制的工作流程

数据库记录写操作到 二进制日志。

数据库 的 I/O 线程 连接主数据库,读取主库的二进制日志,并存储到 中继日志。

SQL 线程 从中继日志中读取事件,并将事件执行到从库中。

三、进行主从配置 

1、基于binlog的主从同步配置

主库配置:

[root@server ~]#  yum install mysql-server -y

[root@server ~]# vim /etc/my.cnf         (或者子配置文件:/etc/my.cnf.d/mysql-server.cnf)

server_id=1   (服务id可以随便配置,一般可根据ip)

[root@server ~]# systemctl restart mysqld

# 创建用于复制的用户并赋予权限

mysql>create user 'req'@'192.168.8.% identified with mysql_native_password by '123456';

  加上with mysql_native_password 是为了兼容之前的密码插件,可以不加

mysql> grant replication slave on *.* to rep@'192.168.8.%';


mysql> show master status;   #获取主服务器的二进制日志文件名和位置:


+---------------+----------+--------------+------------------+-------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000001 |     1054 |              |                  |                   |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

从库配置:

[root@slave1 ~]# yum install mysql-server -y

[root@slave1 ~]# vim /etc/my.cnf

server_id=2

[root@slave1 ~]# systemctl restart mysqld
[root@slave1 ~]# mysql

mysql> change master to 
    -> master_host='192.168.8.128',  ----主库ip
    -> master_user='rep',    ----之前授权的用户
    -> master_password='123456',
    -> master_log_file='binlog.000001',    ----主服务器的二进制日志文件名
    -> master_log_pos=1054;    ---- 主服务器的二进制日志位置

mysql> start slave;

mysql> show slave status \G

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

主从服务器 都开启gtid:

在/etc/my.cnf的server_id下面加入两行,然后重启服务:

gtid_mode=ON
    enforce-gtid-consistency=ON

从库配置:

mysql> stop slave;#停止复制线程


mysql> change master to
    -> master_host='192.168.8.138',
    -> master_port=3306,
    -> master_user='rep',
    -> master_password='123456',
    -> master_auto_position=1;
Query OK, 0 rows affected, 8 warnings (0.00 sec)

mysql> start slave;


http://www.ppmy.cn/news/1565285.html

相关文章

基于注解实现去重表消息防止重复消费

基于注解实现去重表消息防止重复消费 1. 背景/问题 在分布式系统中,消息队列(如RocketMQ、Kafka)的 消息重复消费 是常见问题,主要原因包括: 网络抖动:生产者或消费者因网络不稳定触发消息重发。消费者超…

谈谈MySQL中的索引和事务

目录 1. 索引 1.1 索引介绍 1.2 缺陷 1.3 使用 1.3.1 查看索引 1.3.2 创建索引 1.3.3 删除索引 2. 索引底层的数据结构 2.1 B树 3. 事务 3.1 为什么使用事务 3.2 事务的使用 3.3 事务的基本特性 1. 索引 1.1 索引介绍 索引相当于一本书的目录(index), 在一…

GIT的常规使用

分别如果提交了两次git,如 sepolicy$ git log commit 695ceb9d8726d1faa72eda7dea1feccf4805b606 (HEAD -> master) Author: kang <xxx.com> Date: Tue Jan 21 11:21:22 2025 0800 usb disk ok commit 3b3ff9f6c7b30370a8a0c2c7f33013995a808641 Author: kang <…

第2章:Python TDD构建Dollar类基础

写在前面 这本书是我们老板推荐过的&#xff0c;我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后&#xff0c;我突然思考&#xff0c;对于测试开发工程师来说&#xff0c;什么才更有价值呢&#xff1f;如何让 AI 工具更好地辅助自己写代码&#xff0c;或许…

Wi-Fi 7、Wi-Fi 6 与 5G、4G 的全方位对比

随着无线通信技术的飞速发展&#xff0c;Wi-Fi 7、Wi-Fi 6&#xff0c;以及5G、4G 已经成为人们生活和工作中不可或缺的网络技术。无论是家庭网络、高速移动通信&#xff0c;还是工业物联网&#xff0c;这些技术都在发挥各自的作用。那么&#xff0c;它们之间有什么区别&#x…

网络安全行业岗位职责

系统安全需求分析师 综合能力 掌握常见的IT系统安全需求 具备总结分析整体网络安全需求及子系统安全需求的能力 具有良好的沟通、团队协作和主动性思考的能力 具备良好的技术文档编制能力 专业知识 熟悉网络、终端、数据、威胁情报、态势感知、流量威胁分析等产品的技术方…

详解Rust 中 String 和 str 的用途与区别

文章目录 1. 基本定义1.1 String1.2 str2. 存储位置与内存模型2.1 String2.2 str3. 用法与区别4. 使用场景4.1 使用 String 的场景4.2 使用 str 的场景5. String 和 str 的关系6. 代码示例分析6.1 从 &str 创建 String6.2 从 String 获取 &str6.3 拼接字符串6.4 静态存…

大华Java开发面试题及参考答案 (上)

TCP 的三次握手和四次挥手过程中各个状态的细节是怎样的&#xff1f; TCP&#xff08;Transmission Control Protocol&#xff09;是一种面向连接的、可靠的传输层协议&#xff0c;其三次握手和四次挥手过程涉及多个状态&#xff0c;以下是详细的状态细节&#xff1a; 三次握手…