高级运维day2

本文详细解释了MySQL主从复制的原理,包括bin-log记录更新事件、从库通过Slave线程请求主库、以及如何配置和启动主从复制。介绍了如何修改my.cnf文件以实现主从复制,并展示了实际操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、理解MySQL主从复制原理

1、什么是主从复制?

主从复制是用来建立一个和 主数据库完全一样的数据库环境称为从数据库,主数据库一般是准实时的业务数据库。

2、主从复制作用

我们来思考如果在企业网站中,后端MYSQL数据库只有一台时候,会有以下问题:
1、单点故障服务不可用
2、无法处理大量的并发数据请求
3、数据丢失
所以通过主从复制后,它的优点就很明显
1、如果主节点出现故障,那么我们就直接将服务切到从节点,来保证服务立马可用。
2、如果并发请求特别大的时候,我们可用进行读写分离操作,让主库负责写,从库负责读.
3、如果主库数据丢失,但从库还保存一份,减少数据丢失的风险

3、主从复制原理

(1) Master的更新事件(update、 inset、delete)会按照顺序写入bin-log中。当Slave连接到Master的后,Master机器会为Slave开启binlog dump线程,该线程会去读取bin-log日志
(2) Slave连接到Master后,Slave库有一个/0线程 通过请求binlog dump thread读取binog日志,然后写入从库的relay log日志中.
(3) Slave还有一个 SQL线程,实时监控 relay-log日志内容是否有更新,解析文件中的SQL语句,在Slave数据库中去执行.

总结

(1)既然是要把事件记录到bin-log日志,那么对于Master就必须开启bin-log功能。
(2) 整个Mysgl主从复制一共开启了3个线程。Master开启 10线程,Slave开启10线程 和 SQL线程
3)这点也很重要那就是Master和Slave交与的时候,记住这里是Slave去请求Master,而不是Master主动推给Slave。 Slave通过10线程连接Master后发起请求,Master服务器收到Slave 10线程发来的日志请求信息,io线程去将bin-log内容返回给slave 10线程

二、完成MySQL主从复制。

修改主库配置文件my.cnf
重启数据库 授权给从库
修改从库配置文件my.cnf
配置主数据库和logbin
启动从数据库服务
查看从数据库状态,启动IO和SQL线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值