数据库

MYSQL--进阶

2019-02-01  本文已影响288人  NealLemon

MYSQL主从复制

类别

方式

基于日志点的复制

流程图

主从复制的原理.png

流程解释

配置主从复制步骤

主服务器

从服务器

几个基本命令

gtid全局配置.png changmaster.png

主从复制架构

目前MYSQL主流支持的架构方式有

作用

MMM架构(master master mysql)

优缺点

原理图解

MMM图解.png 宕机后.png
文字解释
  1. 首先 主服务器和主备服务器是相互复制,同时主的服务器下有从服务器。MMM架构会为主服务器分配一个写VIP,会为多个从服务器分配多个读VIP。
  2. 当主服务器宕机时,MMM机制会将从服务器迁移至主备服务器上,并且将写VIP迁移至主备服务器。
  3. 从服务器宕机时,会将该服务器上的VIP迁移至其他的从服务器上。
  4. 最后需要一台监控服务器,安装 MMM的监控组件。

架构资源

MMM架构资源.png

适用场景

MHA架构

优缺点

原理图解

MHA1.png MHA2.png
文字解释
  1. 我们可以看到 主从服务器只需要安装MHA的 mha_node组件,而我们需要一个另外的监控服务器,我们需要安装mha_manage和mha_node组件
  2. 如果主服务器宕机,则从 从服务器中选择一台最接近主服务器的机器升级为主服务器,同时将写VIP迁移至这台服务器上。

架构架构资源

MHA架构资源.png

使用场景

MGR架构

架构图解

mgr架构.png

MGR已经不存在从服务器的角色了,可以支持客户端通过多个主服务器,同时修改数据。

复制原理

MGR原理.png
文字解释

由若干个节点共同组成一个复制组,一个事务的提交,必须经过组内大多数节点(N / 2 + 1)决议并通过,才能得以提交。如上图所示,由3个节点组成一个复制组,Consensus层为一致性协议层,在事务提交过程中,发生组间通讯,由2个节点决议(certify)通过这个事务,事务才能够最终得以提交并响应。

两种模式

单主模式
MGR单主模式.png

只有一个主服务器可以读写操作,另外的只可以读。具体哪个节点是primary节点 是读写服务器,这个需要MGR自己去判定,如果出现宕机,则会选择另外一台作为primary节点。

PS:需要把 group_replication_single_primary_mode = ON 开启。

多主模式
mgr多主模式.png

与单主模式相反,可以由多个主服务器进行读写操作,但是由于事务的顺序不一致,会导致死锁或者数据冲突。如果产生冲突,MGR会选择其中一个节点的数据进行回滚。目前暂时不推荐。

其他问题

如何解决读负载过大问题?

读写分离,使用从服务器进行读操作,主服务器尽量只进行写操作。

如何解决写负载过大问题?

分库分表,最好使用数据库中间件来实现(MyCat,ProxySql,Maxscale)

监控指标

由于不是专业的DBA,所以只是列出了需要监控的指标。具体的语句可以google以及baidu。

功能指标.png 性能指标.png
上一篇 下一篇

猜你喜欢

热点阅读