环境背景:公司规模已经形成,用户数据已成为公司的核心命脉,一次老王一不小心把数据库文件删除,通过mysqldump备份策略恢复用了两个小时,在这两小时中,公司业务中断,损失100万,老王做出深刻反省,公司也因此对于数据库的性能和可靠性提出更高要求。
要求对数据库进行改造,使其承载力进行提升,故障修复时间减少,有没有能实现的方案呢?
Mysql实现数据库主从复制实战架构及其原理
1、实验架构及其原理
2、过程分析
② mysql的进程读事务日志,事务日志的内容做到数据库内存中;此时可以回复客户端,数据为脏数据
⑤ I/O thread线程:从主的数据库上,把二进制文件的内容拉过来,写到relay log中继日志中
⑥ SQL thread线程:把relay log内容拉出来,写到数据库内存中
⑦ 从数据库也可以把执行的操作记录到自己的二进制文件中,非必须
3、主从的优势
一个master 写入,多个slave同时读出;大大提高了读的效率
现实中,很多都是读的请求大,写的请求相对小的多,如电商网站,大多都是人们去访问,下单的较少;所以主从的关系已经能很好的提高性能了
4、实验前准备
① iptables -F && setenforce 清空防火墙策略,关闭selinux
② 拿两台服务器都使用yum 方式安装Mysql 服务,要求版本一致
实战一:Mysql实现数据库简单一主多从复制实战
1、环境准备
centos 系统服务器3 台、一台用户做Mysql 主服务器,2台用于做Mysql 从服务器,配置好yum 源、 防火墙关闭、各节点时钟服务同步、各节点之间可以通过主机名互相通信