MySQL: Fabric 搭建 HA

时间:2021-09-29 09:23:50

搭建好Fabric之后,就可以在它的基础上创建HA Group、 Shard Group、HA+Shard Group等。这里来说明一下如何快速的搭建HA环境。

Fabric

192.168.2.234:33060

Master

192.168.2.234:33061

Slave1

192.168.2.234:33062

Slave2

192.168.2.234:33063

1搭建Fabric环境

如果已搭建好,可以忽略这一步。如果没有搭建可以参考之前的说明

2准备3个受管MySQL 实例

1)  创建3个MySQL实例

实例的创建可以参考相关文章

2)  在3个MySQL实例上分别创建用户,并授权。

创建的用户要与fabric.cfg中的[server]区域配置的用户保持一致。

授权要至少保留之前Fabric的文档中的权限说明。

当然也可以直接授于所有权限:

grant all  privileges on *.* to  ‘fabric’@’%’  identified by ‘yourpassword’;

Flush privileges;

3)在3个mysql实例的my.cnf加入必要的配置项:

gtid_mode=ON

log-bin=mysql-bin

log-slave-updates=true

enforce-gtid-consistency=true

server_id=1  // 该配置项各个实例不一样

4)重启3个mysql实例。

3Fabric上配置实例访问

Fabric 配置文件fabric.cfg的说明可以参考:

http://dev.mysql.com/doc/mysql-utilities/1.5/en/fabric-cfgref.html

这里主要就是要确保fabric.cfg中[server]区域配置的用户名与各个实例的用户保持一致。

4、将mysql实例纳入fabric的管理

1)创建一个group:

mysqlfabric group create ha_group

2)将mysql加入到组中:

mysqlfabric group add ha_group 192.168.2.234:33061
mysqlfabric group add ha_group 192.168.2.234:33062
mysqlfabric group add ha_group 192.168.2.234:33063

3)选择一个master实例。

在第2)完成后,所有的实例都是Secondary(也就是Slave),

在选择master实例,有两种方案:1自动选取,2是指定一个。

自动选择一个:

mysqlfabric group promote ha_group

指定一个:

Mysqlfabric server promote ha_group --slave_id=192.168.2.234:33061

5、测试

使用MySQL Client工具,例如 navicat 连接到这3个实例上,在master所对应的连接上 ,创建表,创建index, insert 数据。可以看到,另外两个实例上也自动同步了。

参考:https://blogs.oracle.com/jbalint/entry/accessing_fabric_ha_groups_from