[聚合文章] 项目实战7—Mysql实现企业级数据库主从复制架构实战

MySQL 2017-11-20 20 阅读

Mysql实现企业级数据库主从复制架构实战

  环境背景:公司规模已经形成,用户数据已成为公司的核心命脉,一次老王一不小心把数据库文件删除,通过mysqldump备份策略恢复用了两个小时,在这两小时中,公司业务中断,损失100万,老王做出深刻反省,公司也因此对于数据库的性能和可靠性提出更高要求。

要求对数据库进行改造,使其承载力进行提升,故障修复时间减少,有没有能实现的方案呢?

Mysql实现数据库主从复制实战架构及其原理

1、实验架构及其原理

数据库高可用架构分为

主从:一主一从,一主多从,一主从从

双主

2、过程分析

(1)主数据库(innodb引擎)的操作:

① 一个写的请求,先写到redo事务日志中,

② mysql的进程读事务日志,事务日志的内容做到数据库内存中;此时可以回复客户端,数据为脏数据

③ 请求的操作记录到二进制日志

二进制日志再写磁盘中写;优化策略,变随机写为顺序写

(2)从数据库的操作:

I/O thread线程:从主的数据库上,把二进制文件的内容过来,写到relay log中继日志

SQL thread线程:把relay log内容拉出来,写到数据库内存

⑦ 从数据库也可以把执行的操作记录到自己的二进制文件中,非必须

⑧ 从数据库的二进制写到自己的磁盘

 

3、主从的优势

一个master 写入,多个slave同时读出;大大提高了读的效率

现实中,很多都是读的请求大,写的请求相对小的多,如电商网站,大多都是人们去访问,下单的较少;所以主从的关系已经能很好的提高性能了

 

4、实验前准备

① iptables -F && setenforce 清空防火墙策略,关闭selinux

② 拿两台服务器都使用yum 方式安装Mysql 服务,要求版本一致

③ 分别启动两台服务器mysql

 

实战一:Mysql实现数据库简单一主多从复制实战

1、环境准备

centos 系统服务器3 台、一台用户做Mysql 主服务器,2台用于做Mysql 从服务器,配置好yum 源、 防火墙关闭、各节点时钟服务同步、各节点之间可以通过主机名互相通信

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。