文章目录
前言
- 生产环境中,服务器不可能只有一台,而多台服务器的存在必然要用到主从复制同步。
一:主从复制原因与解决
1.1:原因
- 在企业网站中,后端MySQL数据库只有一台时,会有以下问题:
- 遇到单点故障,服务不可用
- 无法处理大量的并发数据请求
- 数据丢失将会造成很大损失
1.2:解决办法
- 增加MySQL数据库服务器,对数据进行备份,形成主备
- 确保主备MySQL数据库服务器数据是一样的
- 主服务器宕机了,备份服务器继续工作,数据有保障
- MySQL主从复制与读写分离是密切相关的
1.3:更高级的解决方案
-
通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力
-
Amoeba:是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy,外号变形虫
读取请求发送给从服务器时,采用轮询调度算法
-
主服务器挂掉,我们会采用MHA解决(此实验用不到)
-
此实验涉及到的账号权限
- 主从同步账号
- 节点服务器开放调度账号
- Amoeba代理账号
-
1.4:MySQL主从复制的类型
- 基于语句的复制(默认)
- 在主服务器上执行的语句,从服务器执行同样的语句
- 基于行的复制
- 把改变的内容复制到从服务器
- 混合类型的复制
- 一旦发现基于语句无法精确复制时,就会采用基于行的复制
1.5:主从复制的工作过程
二:主从复制实验实操
2.1:环境
- 四台centos7服务器
- 一台做client
- 三台做mysql服务器
2.2:拓扑图
2.3:实验目的
- 通过配置,实现主从复制
2.4:实验过程
2.4.1:防火墙设置
-
所有服务器关闭 Firewall或者进行规则设置