云原生第四次作业

MySQL 主从复制原理及工作过程

MySQL 主从复制(Master-Slave Replication)是指通过复制数据使得一个主数据库的更改自动同步到一个或多个从数据库的机制。在主从复制架构中,主库负责处理所有的写操作和事务,从库则从主库获取更新,并应用这些更改。

主从复制原理:
主库负责处理所有写操作(INSERT、UPDATE、DELETE等),并将这些操作记录到 二进制日志(binlog)中。
从库通过 I/O 线程连接到主库,向主库请求二进制日志。
主库的 I/O 线程将日志发送给从库的 I/O 线程,从库将日志写入到自己的 中继日志(relay log)。
从库的 SQL 线程从中继日志中读取并执行日志中的 SQL 语句,以此更新自己的数据。
主从复制工作过程:
主库的变更操作被写入到 binlog。
从库通过 IO 线程将主库的 binlog 拉取下来并写入到本地的 relay log。
从库的 SQL 线程读取并执行这些日志中的 SQL 操作,以保持数据的一致性。

配置一主两从并验证

假设我们有三台机器:

主库:IP 192.168.234.136
从库1:IP 192.168.234.140
从库2:IP 192.168.234.141

主库

yum install -y mysql-server
vim /etc/my.cnf
server_id=1
systemctl enable --now mysqld
systemctl restart mysqld
mysql
create user rep@'192.168.234.%' identified with mysql_native_password by '123456';
grant replication slave on *.* to rep@'192.168.234.%';
show master status;

从库1

yum install -y mysql-server
vim /etc/my.cnf
server_id=2
systemctl enable --now mysqld
systemctl restart mysqld
mysql
change master to
master_user='rep',
master_host='192.168.234.136',
master_password='123456',
master_log_file='binlog.000001',
master_log_pos=978;
start slave
show slave status \G

从库2

yum install -y mysql-server
vim /etc/my.cnf
server_id=3
systemctl enable --now mysqld
systemctl restart mysqld
mysql
change master to
master_user='rep',
master_host='192.168.234.136',
master_password='123456',
master_log_file='binlog.000001',
master_log_pos=978;
start slave
show slave status \G

注意先关闭防火墙

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值