简述mysql 主从复制原理及其工作过程,配置一主两从并验证。

发布于:2025-02-10 ⋅ 阅读:(45) ⋅ 点赞:(0)

MySQL 主从复制工作过程

1、二进制日志记录(Binary Logging):

主服务器开启二进制日志记录功能,将所有更改数据的操作(如 INSERT、UPDATE、DELETE)记录到二进制日志文件中。

2、日志传输(Log Shipping):

从服务器通过一个特殊的线程(I/O 线程)连接到主服务器,并请求读取主服务器的二进制日志文件。

3、日志应用(Log Apply):

从服务器接收到主服务器的二进制日志文件后,通过另一个特殊的线程(SQL 线程)将日志中的更改操作应用到从服务器的数据库中,从而实现数据的同步。

4、数据一致性:

通过上述过程,从服务器的数据与主服务器保持一致,实现数据的复制和同步。

首先准备三台虚拟机

主:192.168.1.11(mater)

从:192.168.1.130(slave1)

从:192.168.1.131(slave2)

一、192.168.1.11(mater)

#编辑配置文件

[root@master ~]# vim /etc/my.cnf
server_id=11

#重新启动mysql

[root@master ~]# systemctl restart mysqld.service

#建立用户root远程连

#确保每台SLAVE都能连得上MASTER

GRANT REPLICATION SLAVE ON *.* TO 'root';

#查看日志文件名

SHOW MASTER status;

二、192.168.1.130(slave1)

#编辑配置文件

[root@master ~]# vim /etc/my.cnf
server_id=130

#重新启动mysql

[root@master ~]# systemctl restart mysqld.service

#与Master(192.168.1.11主机)建立连接

CHANGE MASTER TO
    MASTER_HOST = '192.168.1.11',
    MASTER_USER = 'root',
    MASTER_PASSWORD = 'Mysql@123',
    MASTER_LOG_FILE = 'binlog.000003',
    MASTER_LOG_POS = 691;
mysql> start slave;

最终结果:

三、192.168.1.131(slave2)

操作同理slave2

#编辑配置文件

[root@master ~]# vim /etc/my.cnf
server_id=131

#重新启动mysql

[root@master ~]# systemctl restart mysqld.service

 #与Master(192.168.1.11主机)建立连接

最终结果:


网站公告

今日签到

点亮在社区的每一天
去签到