amoeba mysql mha_听说Mysql你很豪横?-------------MySQL5.7主从同步

生产环境中,服务器不可能只有一台,而多台服务器的存在必然要用到主从复制同步。

一、主从复制原因与解决

1、原因

在企业网站中,后端MySQL数据库只有一台时,会有以下问题:

遇到单点故障,服务不可用

无法处理大量的并发数据请求

数据丢失将会造成很大损失3ea1b375b0dd09529748bb82c2c5d6b4.png

2、解决办法

增加MySQL数据库服务器,对数据进行备份,形成主备

确保主备MySQL数据库服务器数据是一样的

主服务器宕机了,备份服务器继续工作,数据有保障

MySQL主从复制与读写分离是密切相关的b00e480b7f1703b14b70009f47c23c1c.png

3、更高级的解决方案

通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力

Amoeba:是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy,外号变形虫

读取请求发送给从服务器时,采用轮询调度算法

主服务器挂掉,我们会采用MHA解决(此实验用不到)

此实验涉及到的账号权限

主从同步账号

节点服务器开放调度账号

Amoeba代理账号be9463a5a2bca8a9ff6ac0557d080f1b.png

4、MySQL主从复制的类型

基于语句的复制(默认)

在主服务器上执行的语句,从服务器执行同样的语句

基于行的复制

把改变的内容复制到从服务器

混合类型的复制

一旦发现基于语句无法精确复制时,就会采用基于行的复制

5、主从复制的工作过程

当你更新数据库数据的时候 ,首先 将日志文件写入二进制日志文件,然后通过io线程,将binarylog日志文件同步到中继日志,然后sql线程读取中继线程 将数据复制到从服务器这里来

需要注意的点 权限,要让slave服务器有权限复制 ,不能让所有人都可以复制,所以需要创建一个账号来解决。3859320c559102b41c44f5251f57988f.png

567cd1b7835b8150e77c6f21f73ba956.png

1、环境

三台centos7服务器 同一安装mysql5.7版本的

一台做master

两台做slave

主 :192.168.110.134 server-id 10

从 :192.168.110.135 server-id 30

从 :192.168.110.136 server-id 20

2、实验过程

(1)手动编译安装mysql5.7版本

具体编译可参展小编之前的博客

(2)配置mysql主服务器2aa110b9482e3378c04667049a79d21d.png

修改/etc/my.cnf配置文件,增加服务器id,配置二进制日志选项

(3)登陆mysql服务,授权所有从服务器复制二进制日志的权限bf8f72615fe931a8c7c682c84a4ce9a7.png

修改/etc/my.cnf配置文件,增加服务器id,配置二进制日志选项25a650d0284c5acd8f4c2aa1e6967ed2.png

登陆mysql服务,配置组从同步

[object Object]

这里克隆的虚拟机有坑,具体解决方案可查看我排障集锦

3、实验验证

d6c7de47416d837eb43c0a2a704a47df.png

两台从服务器查看是否同步

mysql> show databases;

±-------------------+

| Database |

±-------------------+

| information_schema |

| school |‘//成功同步’

| mysql |

| performance_schema |

| sys |

±-------------------+

5 rows in set (0.00 sec)

本文转载自博客园:

https://blog.csdn.net/weixin_47219935/article/details/108246727

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值