在K8s master节点上分别登录三个MySQL数据库,然后启动MGR功能。
登录MySQL,命令格式:
1 | kubectl exec -it <pod_name> -n <spaces_name> -- mysql -uroot -p |
登录mysql-1数据库:
1 | kubectl exec -it mysql-1 -n ns-mysql-test -- mysql -uroot -p |
然后在mysql-1中执行如下语句启动MGR:
1 2 3 | SET GLOBAL group_replication_bootstrap_group=ON; START GROUP_REPLICATION; SET GLOBAL group_replication_bootstrap_group=OFF; |
MySQL 8.0.21以后版本,START GROUP_REPLICATION; 改为使用START GROUP_REPLICATION USER='rpl_user', PASSWORD='123456';
登录MySQL,命令格式:
1 | kubectl exec -it <pod_name> -n <spaces_name> --mysql -uroot -p |
分别登录mysql-2数据库和mysql-3数据库:
1 2 | kubectl exec -it mysql-2 -n ns-mysql-test --mysql -uroot -p kubectl exec -it mysql-3 -n ns-mysql-test --mysql -uroot -p |
然后分别在mysql-2和mysql-3中执行如下语句启动MGR:
1 | START GROUP_REPLICATION; |
查看组成员信息(可在MGR群组的任意成员中查看):
1 | SELECT * FROM performance_schema.replication_group_members; |
1 2 3 4 5 6 7 8 | +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ | group_replication_applier | e44f902b-bf50-11ea-89d7-000000536bb6 | mysql-1 | 3306 | ONLINE | PRIMARY | 8.0.19 | | group_replication_applier | e51ea27b-bf50-11ea-b256-000000536bb7 | mysql-2 | 3306 | ONLINE | SECONDARY | 8.0.19 | | group_replication_applier | e5b471d9-bf50-11ea-8639-000000536bb8 | mysql-3 | 3306 | ONLINE | SECONDARY | 8.0.19 | +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ 3 rows in set (0.01 sec) |