欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > 简述mysql 主从复制原理及其工作过程,配置一主两从并验证

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

2025/2/12 23:45:34 来源:https://blog.csdn.net/wjy6_/article/details/145548751  浏览:    关键词:简述mysql 主从复制原理及其工作过程,配置一主两从并验证

原理:

MySQL主从复制是基于事件的复制机制。主服务器负责处理所有的写操作和事务,并将这些更改(如INSERT、UPDATE和DELETE)以事件的形式记录到二进制日志(binlog)中。从服务器则通过读取主服务器的二进制日志来获取数据更改信息,并将这些更改应用到自身的数据库中,从而保持与主服务器数据的一致性。

工作过程

主库记录日志:主库将数据变更写入 binlog。

从库连接主库:从库的 I/O 线程连接主库,请求 binlog。

传输日志:主库的 binlog dump 线程将 binlog 发送给从库。

从库应用中继日志:从库的 I/O 线程将收到的 binlog 写入 relay log,SQL 线程重放 relay log 中的操作。

基于binlog的主从同步

1.主库配置

[root@Master ~]# yum install -y mysql-server[root@Master ~]# vim /etc/my.cnf.d/mysql-server.cnf
server_id=1     
[root@Master ~]# systemctl restart mysqld#授权用户
mysql> create user rep@'192.168.1.%' identified with mysql_native_password by '123456';
mysql> grant replication slave on *.* to rep@'192.168.1.%';
mysql> show master status;  //查看主服务器状态

从库配置

#配置文件
[root@Slave1 ~]# vim /etc/my.cnf.d/mysql-server.cnf
server_id=2
[root@Slave1 ~]# systemctl restart mysqld[root@Slave3 ~]# vim /etc/my.cnf.d/mysql-server.cnf
server_id=3
[root@Slave3 ~]# systemctl restart mysqld#设置参数,两个从库一样的配置
mysql> change master to-> master_host='192.168.1.11',-> master_user='rep',-> master_password='123456',-> master_log_file='binlog.000001',-> master_log_pos=1640,-> get_master_public_key=1;#启动复制进程,两个都启动
mysql> start slave;

验证

#在主库创建一个数据库,看从库是否同步生成
mysql> create database test;
mysql> use test;
mysql> create table td1(id int(10),name varchar(20));
mysql> insert into td1 values (1,'张三'),(2,'李遂');

从库中

版权声明:

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

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