MySQL Group Replication mgr 安装关键过程
admin
2023-04-16 12:02:21
0

1、初始化和启动

mysql/bin/mysqld --initialize-insecure --basedir=/mgr/mysql --datadir=/mgr/data/s1
mysql/bin/mysqld --initialize-insecure --basedir=/mgr/mysql --datadir=/mgr/data/s2
mysql/bin/mysqld --initialize-insecure --basedir=/mgr/mysql --datadir=/mgr/data/s3

/mgr/mysql/bin/mysqld --defaults-file=/mgr/data/s1/s1.cnf
/mgr/mysql/bin/mysqld --defaults-file=/mgr/data/s2/s2.cnf
/mgr/mysql/bin/mysqld --defaults-file=/mgr/data/s3/s3.cnf

2、配置文件具体内

s1:

[mysqld]

# server configuration
datadir=/mgr/data/s1
basedir=/mgr/mysql/
user=mysql
port=24801
socket=/mgr/data/s1/s1.sock

#disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"

#Replication Framework
server_id=1
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
log_slave_updates=ON
log_bin=binlog
binlog_format=ROW

#Group Replication Settings

transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="5c7975ec-0000-11e9-a8c9-0800273906ff"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "127.0.0.1:24901"
loose-group_replication_group_seeds= "127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"
loose-group_replication_bootstrap_group=off

s2:

[mysqld]

# server configuration
datadir=/mgr/data/s2
basedir=/mgr/mysql/
user=mysql
port=24802
socket=/mgr/data/s2/s2.sock

#disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"

#Replication Framework
server_id=2
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
log_slave_updates=ON
log_bin=binlog
binlog_format=ROW

#Group Replication Settings

transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="5c7975ec-0000-11e9-a8c9-0800273906ff"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "127.0.0.1:24902"
loose-group_replication_group_seeds= "127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"
loose-group_replication_bootstrap_group=off

s3:
[mysqld]

# server configuration
datadir=/mgr/data/s3
basedir=/mgr/mysql/
user=mysql
port=24803
socket=/mgr/data/s3/s3.sock

#disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"

#Replication Framework
server_id=3
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE
log_slave_updates=ON
log_bin=binlog
binlog_format=ROW

#Group Replication Settings

transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="5c7975ec-0000-11e9-a8c9-0800273906ff"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "127.0.0.1:24903"
loose-group_replication_group_seeds= "127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"
loose-group_replication_bootstrap_group=off

3、登录MySQL执行命令

s1必要过程
mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
mysql> FLUSH PRIVILEGES;
mysql> SET SQL_LOG_BIN=1;
mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='password' FOR CHANNEL 'group_replication_recovery';
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
mysql> SET GLOBAL group_replication_bootstrap_group=ON;
mysql> START GROUP_REPLICATION;
mysql> SET GLOBAL group_replication_bootstrap_group=OFF;
s1非必要过程
mysql> SELECT * FROM performance_schema.replication_group_members;
mysql> SHOW PLUGINS; 
mysql> CREATE DATABASE test;
mysql> USE test;
mysql> CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 TEXT NOT NULL);
mysql> INSERT INTO t1 VALUES (1, 'Luis');
mysql> SELECT * FROM t1;
mysql> SHOW BINLOG EVENTS;
mysql> exit

s2必要过程

mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
mysql> FLUSH PRIVILEGES;
mysql> SET SQL_LOG_BIN=1;
mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='password' FOR CHANNEL 'group_replication_recovery';
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
mysql> SELECT * FROM performance_schema.replication_group_members;
mysql> START GROUP_REPLICATION;
mysql> SELECT * FROM performance_schema.replication_group_members;
mysql> show variables like '%read_only%';

s3必要过程

mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
mysql> FLUSH PRIVILEGES;
mysql> SET SQL_LOG_BIN=1;
mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='password' FOR CHANNEL 'group_replication_recovery';
mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
mysql> SELECT * FROM performance_schema.replication_group_members;
mysql> START GROUP_REPLICATION;
mysql> SELECT * FROM performance_schema.replication_group_members;
mysql> show variables like '%read_only%';

4、遇到问题

问题1
[ERROR] unknown variable 'group_replication_group_name=5c7975ec-0000-11e9-a8c9-0800273906ff'
原参数
group_replication_group_name="5c7975ec-0000-11e9-a8c9-0800273906ff"
group_replication_start_on_boot=off
group_replication_local_address= "127.0.0.1:24903"
group_replication_group_seeds= "127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"
group_replication_bootstrap_group=off
修改后参数 
loose-group_replication_group_name="5c7975ec-0000-11e9-a8c9-0800273906ff"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address= "127.0.0.1:24903"
loose-group_replication_group_seeds= "127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"
loose-group_replication_bootstrap_group=off

问题2创建的复制用户和使用的复制用户不一致
mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| group_replication_applier | 5c7975ec-a9cd-11e9-a8c9-0800273906ff | mgr1        |       24801 | ONLINE       |
| group_replication_applier | 69908c35-a9cd-11e9-8b78-0800273906ff | mgr1        |       24802 | RECOVERING   |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
原:
CHANGE MASTER TO MASTER_USER='repli', MASTER_PASSWORD='repli@%' FOR CHANNEL 'group_replication_recovery';
修改后,要和创建的复制用户一致
CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='password' FOR CHANNEL 'group_replication_recovery';

问题3 未执行START GROUP_REPLICATION; 新加入节点显示offline
mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+-----------+-------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+-----------+-------------+-------------+--------------+
| group_replication_applier |           |             |        NULL | OFFLINE      |
+---------------------------+-----------+-------------+-------------+--------------+
1 row in set (0.00 sec)
执行后
mysql> START GROUP_REPLICATION;
Query OK, 0 rows affected (3.47 sec)

mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
| group_replication_applier | 5c7975ec-a9cd-11e9-a8c9-0800273906ff | mgr1        |       24801 | ONLINE       |
| group_replication_applier | 69908c35-a9cd-11e9-8b78-0800273906ff | mgr1        |       24802 | ONLINE       |
| group_replication_applier | 79ca1c48-a9cd-11e9-9526-0800273906ff | mgr1        |       24803 | ONLINE       |
+---------------------------+--------------------------------------+-------------+-------------+--------------+
3 rows in set (0.00 sec)

相关内容

热门资讯

凤凰连线:中美新一轮经贸磋商,... 中美双方将在韩国举行第七轮经贸磋商。美方的阵容和日程安排如何?在这轮磋商中有哪些关切?凤凰卫视驻韩国...
知情人士:阿联酋秘密打击伊朗,... 据参考消息援引美国《华尔街日报》网站5月11日报道,多名知情人士透露,阿联酋已对伊朗发动军事打击,令...
美防长称美伊停火协议依然有效 △赫格塞思(资料图)当地时间5月12日,美国国防部长赫格塞思表示,他们针对伊朗问题的所有情况都制定了...
特朗普二度来华,五大博弈看点,... 就在5月11日,外交部官宣了一则重磅消息:应中国邀请,美国总统特朗普将于5月13日至15日开启访华行...
科学家预测:“哥斯拉级”厄尔尼... 科学家近日发出警告,太平洋上空正在形成一种被称为“哥斯拉”级的罕见厄尔尼诺气候模式。有科学家预测,这...
200亿美金估值的可灵,值母公... 文 | 影子备忘录 要说今年科技圈最火的赛道,AI短剧绝对排得上号。一部AI仿真人短剧,3人团队、...
多名中国公民在越南乘机遗失财物... 近日,多名中国公民反映在越乘机过程中财物遗失,中国驻胡志明市总领馆提醒中国公民注意:一、强化防范意识...
电视机尺寸一览表70寸长宽 电视机尺寸一览表70寸长宽:一般液晶电视显示屏都是16比9,70寸就是说客它对角线长70寸是106....
东莞一社区推出生育奖励方案,二... 极目新闻记者 柳之萌近日,广东东莞万江街道谷涌社区出台生育奖励方案,对符合条件的二孩家庭一次性奖励1...
80寸液晶电视尺寸长宽多少厘米 80寸液晶电视尺寸长宽多少厘米:80寸的液晶电视大概为181x111厘米,即长度大概在181厘米,宽...