案例概述
1、在企业网站中,后端MySQL数据库只有一台时,会有以下问题
(1)单点故障,服务不可用
(2)无法处理大量的并发数据请求
(3)数据丢失一大灾难
2、改造办法
(1)增加MySQL数据库服务器,对数据进行备份,形成主备
(2)确保主备MySQL数据库服务器数据是一样的
(3)主服务器宕机了,备份服务器继续工作,数据有保障
3、MySQL 主从复制与读写分离是密切相关的
4、更高级解决方案
(1)通过主从复制的方式来同步数据(基于位置恢复:并通过二进制日志文件恢复),再通过读写分离来提升数据库的并发负载能力
5、读写分离的特点:
(1)实现高并发处理
(2)实现数据分流
案例前置知识点
1、MySQL主从复制的类型:
(1)基于语句的复制(默认)
在主服务器上执行的语句,从服务器执行同样的语句,
(2)基于行的复制
把改变的内容复制到从服务器
(3)混合类型的复制
一旦发现基于语句无法精确复制时,就会采用基于行的复制
2、主从复制的工作过程
案例实施
1、所有服务器关闭Firewalld或者进行规则设置
2、建立时间同步环境
(1)在主服务器上安装配置NTP时间同步服务器
●使用yum安装ntp服务(源)
●修改ntp.conf,设置主服务器为时间同步源
(2)在从服务器.上进行时间同步
●使用yum安装ntpdate并进行时间同步
3、在三台数据库服务器.上安装MySQL
(1)编译安装MySQL
(2)优化调整
(3)初始化数据库.
(4)启动MySQL服务并进行root用户密码设置
4、配置MySQL Master主服务器
(1)修改/etc/my.cnf配置文件,增加服务器id,配置二进制日志选项
(2)登录MySQL服务,授权所有的从服务器复制二进制日志的权限
5、配置两台从服务器
(1)修改/etc/my.cnf配置文件,增加服务器id,配置二进制日志选项
(2)登录MySQL配置主从同步
start slave; 启动服务
show slave status\G; 查看slave状态
MySQL读写分离
1.MySQL读写分离原理
(1)读写分离就是只在主服务器上写,只在从服务器上读
(2)主数据库处理事务性查询,而从数据库处理select查询
(3)数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库