mysql 主备 传输协议_Mysql双主互备+keeplived高可用架构介绍

本文介绍了MySQL双主互备结合Keeplived实现高可用架构,详细阐述了双主互备的原理和配置步骤,以及Keeplived的部署和故障切换机制。在双主互备架构中,两台MySQL服务器互相复制,保证数据可靠性。当主节点故障时,Keeplived自动切换VIP,确保服务不间断。
摘要由CSDN通过智能技术生成

一、Mysql双主互备+keeplived高可用架构介绍

Mysql主从复制架构可以在很大程度保证Mysql的高可用,在一主多从的架构中还可以利用读写分离将读操作分配到从库中,减轻主库压力。但是在这种架构中,主库出现故障时需要手动将一台从库提升为主库。在对写操作要求较高的环境中,主库故障在主从架构中会成为单点故障。因此需要主主互备架构,避免主节点故障造成写操作失效。

在双主互备的架构中,每台Mysql都充当主服务器,同时充当对方的从服务器。在任意一台服务器上的写操作都会被复制到另一台服务器上,从而保证了数据的可靠性。

在双主互备的基础上加上keeplived,在其中一台机器上绑定虚拟ip(VIP)。利用vip统一对外服务,可以避免在两个节点同时写数据造成冲突。同时当keeplived主节点发生故障时,keeplived会自动将VIP切换到备节点上,从而实现主服务器的高可用。

wKiom1fG93iwjIn9AAC06rhxUqo862.jpg-wh_50

Mysql双主互备+keeplived高可用架构图

二、Mysql双主互备架构部署

在上一篇Mysql主从复制操作中已经完成了Mysql主从架构的部署。在此基础上,需要在原Master上开启relay-log,在原Slave服务器上开启log-bin,同时在Mysql248上指定Mysql249为自己的主服务器并开启slave即可。

1.开启原Master上的relay-log,指定不复制的库

1

2

3

4

5

6

7

8

9

10

[root@Mysql-248 mysql-5.6.30]# grep -A8 'mysqld' my.cnf

[mysqld]

port = 3306

server_id = 1

log-bin=mysql-bin

以下部分为在原基础上新增的内容

relay-log = mysql-relay-bin

replicate-wild-ignore-table=mysql.%

replicate-wild-ignore-table=test.%

replicate-wild-ignore-table=information_schema.%

2.开启原Slave上的log-bin,指定不复制的库

[root@Mysql-249 mysql-5.6.30]# grep -A8 'mysqld' my.cnf

1

2

3

4

5

6

7

8

9

[mysqld]

port = 3306

server_id = 2

relay-log = mysql-relay-bin

以下部分为在原基础上新增的内容

log-bin=mysql-bin

replicate-wild-ignore-table=mysql.%

replicate-wild-ignore-table=test.%

replicate-wild-ignore-table=information_schema.%

3.在Mysql248服务器上指定Mysql249为自己的主服务器并开启slave

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

① 在Mysql249上查看当前master信息,并建立复制用户

mysql> show master status;

+------------------+----------+--------------+------------------+-------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_GtidSet |

+------------------+----------+--------------+------------------+-------------------+

| mysql-bin.000001 | 493 | | | |

+------------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

mysql> grant replication slave on._ to 'repl_user'@'192.168.175.%' identified by '123456';

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

② 在Mysql248上指定Mysql249为自己的主服务器,开启slave

mysql> change master to \

-> master_host='192.168.175.249',

-> master_user='repl_user',

-> master_password='123456',

-> master_log_file='mysql-bin.000001

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值