搭建好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]区域配置的用户保持一致。
授权要至少保留的权限说明。
当然也可以直接授于所有权限:
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实例。
3、在Fabric上配置实例访问
Fabric 配置文件fabric.cfg的说明可以参考:
这里主要就是要确保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