MySQL 8.4 配置SSL组复制(八个步骤)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: MySQL 8.4 配置SSL组复制(八个步骤)

环境这里有三台MySQL主机,分别是192.168.3.71,72,73,主机名分别对应71.3_mgr1,72.3_mgr2,73.3_mgr3,操作系统均为Oracle Linux 8.10 X64,MySQL版本均为MySQL 8.4.4-commercial

1.我们在/etc/hosts文件添加以下解析,每台主机的hosts文件都添加

vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.3.71 71.3_mgr1
192.168.3.72 72.3_mgr2
192.168.3.73 73.3_mgr3

2.然后我们禁用一些不支持组复制的存储引擎和启用gtid,同时启用组复制

192.168.3.71
[mysqld]
require_secure_transport=ON
ssl_ca=/u01/mysql3308/data/ca.pem
ssl_cert=/u01/mysql3308/data/server-cert.pem
ssl_key=/u01/mysql3308/data/server-key.pem
group_replication_ssl_mode= REQUIRED
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
server-id = 03713308
gtid_mode=on
enforce_gtid_consistency=on
plugin_load_add='group_replication.so'
group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
group_replication_start_on_boot=off
group_replication_local_address= "71.3_mgr1:33081"
group_replication_group_seeds= "71.3_mgr1:33081,72.3_mgr2:33081,73.3_mgr3:33081"
group_replication_bootstrap_group=off

192.168.3.72
[mysqld]
require_secure_transport=ON
ssl_ca=/u01/mysql3308/data/ca.pem
ssl_cert=/u01/mysql3308/data/server-cert.pem
ssl_key=/u01/mysql3308/data/server-key.pem
group_replication_ssl_mode= REQUIRED
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
server-id = 03723308
gtid_mode=on
enforce_gtid_consistency=on
plugin_load_add='group_replication.so'
group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
group_replication_start_on_boot=off
group_replication_local_address= "72.3_mgr2:33081"
group_replication_group_seeds= "71.3_mgr1:33081,72.3_mgr2:33081,73.3_mgr3:33081"
group_replication_bootstrap_group=off

192.168.3.73
[mysqld]
require_secure_transport=ON
ssl_ca=/u01/mysql3308/data/ca.pem
ssl_cert=/u01/mysql3308/data/server-cert.pem
ssl_key=/u01/mysql3308/data/server-key.pem
group_replication_ssl_mode= REQUIRED
disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"
server-id=03723308
gtid_mode=on
enforce_gtid_consistency=on
plugin_load_add='group_replication.so'
group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
group_replication_start_on_boot=off
group_replication_local_address= "73.3_mgr3:33081"
group_replication_group_seeds= "71.3_mgr1:33081,72.3_mgr2:33081,73.3_mgr3:33081"
group_replication_bootstrap_group=off

3.为每个实例创建复制用户

[root@71,2,3mysql3308]# mysql -uroot -p
Enter password:
mysql> SET SQL_LOG_BIN=0;
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE USER 'rec_ssl_user'@'%' IDENTIFIED BY 'password' REQUIRE SSL;
Query OK, 0 rows affected (0.03 sec)
mysql> GRANT REPLICATION SLAVE ON . TO 'rec_ssl_user'@'%';
Query OK, 0 rows affected (0.26 sec)
mysql> GRANT CONNECTION_ADMIN ON . TO 'rec_ssl_user'@'%';
Query OK, 0 rows affected (0.06 sec)
mysql> GRANT BACKUP_ADMIN ON . TO 'rec_ssl_user'@'%';
Query OK, 0 rows affected (0.10 sec)
mysql> GRANT GROUP_REPLICATION_STREAM ON . TO rec_ssl_user@'%';
Query OK, 0 rows affected (0.03 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> SET SQL_LOG_BIN=1;
Query OK, 0 rows affected (0.00 sec)

4.为每个实例创建组复制同步

mysql> CHANGE REPLICATION SOURCE TO SOURCE_USER='rec_ssl_user', SOURCE_PASSWORD='password' FOR CHANNEL 'group_replication_recovery';
Query OK, 0 rows affected, 2 warnings (1.17 sec)

5.查看组复制插件安装情况

mysql> SHOW PLUGINS;

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

| Name | Status | Type | Library | License |

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

| binlog | ACTIVE | STORAGE ENGINE | NULL | PROPRIETARY |

(...)

| group_replication | ACTIVE | GROUP REPLICATION | group_replication.so | PROPRIETARY |

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

6.在192.168.3.71上引导启动组复制

mysql> SET GLOBAL group_replication_bootstrap_group=ON;
Query OK, 0 rows affected (0.00 sec)
mysql> START GROUP_REPLICATION USER='rec_ssl_user', PASSWORD='password';
Query OK, 0 rows affected (1.43 sec)
mysql> SET GLOBAL group_replication_bootstrap_group=OFF;
Query OK, 0 rows affected (0.00 sec)

7.引导组复制,写入同步测试数据

mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
| CHANNEL_NAME| MEMBER_ID| MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
| group_replication_applier | 4966325d-1509-11f0-a15f-525400381571 | 71.3_mgr1|3308 | ONLINE| PRIMARY| 8.4.4| XCom|
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
1 row in set (0.00 sec)

CREATE DATABASE test;
USE test;
CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 TEXT NOT NULL);
INSERT INTO t1 VALUES (1, 'Luis');

mysql>CREATE DATABASE test;
Query OK, 1 row affected (0.08 sec)
mysql> USE test1;
Database changed
mysql> CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 TEXT NOT NULL);
Query OK, 0 rows affected (1.46 sec)
mysql> INSERT INTO t1 VALUES (1, 'Luis');
Query OK, 1 row affected (0.22 sec)

8.分别在192.168.3.72,73上启动组复制

mysql> START GROUP_REPLICATION USER='rec_ssl_user', PASSWORD='password';

图片
图片.png

参考文档:

https://dev.mysql.com/doc/refman/8.4/en/group-replication-configuring-instances.html

https://dev.mysql.com/doc/refman/8.4/en/group-replication-secure-socket-layer-support-ssl.html

https://dev.mysql.com/doc/refman/8.4/en/using-encrypted-connections.html

https://dev.mysql.com/doc/refman/8.4/en/creating-ssl-rsa-files.html

https://dev.mysql.com/doc/refman/8.4/en/group-replication-secure-socket-layer-support-ssl.html

https://dev.mysql.com/doc/refman/8.4/en/creating-ssl-files-using-openssl.html

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
24 11
|
8天前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
46 18
|
23天前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu 22.04上配置和安装MySQL
以上就是在Ubuntu 22.04上配置和安装MySQL的步骤。这个过程可能看起来有点复杂,但只要按照步骤一步步来,你会发现其实并不难。记住,任何时候都不要急于求成,耐心是解决问题的关键。
143 30
|
1月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
293 26
|
3月前
|
安全 算法 网络协议
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
|
2月前
|
算法 应用服务中间件 网络安全
阿里云WoSign“国密RSA双SSL证书”应用实践
阿里云WoSign品牌SSL证书是阿里云平台热销的国产品牌证书之一,支持签发国密合规的SM2算法SSL证书以及全球信任的RSA算法SSL证书,能够满足平台用户不同的SSL证书应用需求,同时为用户提供国密模块支持,实现“国密/RSA双证书部署”。
454 6
阿里云WoSign“国密RSA双SSL证书”应用实践
|
2月前
|
算法 安全 应用服务中间件
2025阿里云智惠采购季,WoSign SSL国产证书折上折满减优惠
**2025阿里云“智慧采购季,就上阿里云”活动火热进行中!** 3月1日至31日,阿里云WoSign品牌SSL证书新老用户同享折上折满减优惠。DV SSL证书低至220元/年起,轻松实现HTTPS加密,保障数据传输安全。领取“智惠采购季上云礼包”,先领券再下单,享受满减优惠。WoSign品牌SSL证书国密RSA双算法支持,确保广泛兼容与可靠部署。
747 2
2025阿里云智惠采购季,WoSign SSL国产证书折上折满减优惠
|
2月前
|
运维 安全 网络安全
【运维实战分享】轻松搞定 SSL 证书管理,告别证书繁琐操作
Spug证书平台的最大亮点之一就是其极为简化的证书申请流程,无论是新手还是经验丰富的运维专家,都可以在几分钟内轻松完成证书的申请,通过微信扫码直接登录申请,无需复杂注册,整个过程既方便又快捷。
116 17
|
2月前
|
运维 安全 数据建模
阿里云数字证书管理服务免费版和收费版SSL证书区别、收费标准、申请及部署教程参考
阿里云数字证书管理服务提供多种SSL证书类型和品牌,适用于不同规模的网站,包括但不限于电商、小型企业、大型企业或个人等。阿里云SSL证书有收费版的也有免费版的,有的新手用户由于是初次在阿里云申请SSL证书,可能不是很清楚免费版证书的申请和部署流程,本文为以图文形式为大家展示阿里云免费版SSL证书最新的申请及部署教程,以供参考。
|
2月前
|
算法 数据建模 应用服务中间件
阿里云2025智惠采购季,WoSign SSL证书优惠叠加使用攻略
阿里云2025智惠采购季,WoSign SSL证书折上折满减优惠!活动月期间(2025年03月01日至03月31日)活动折扣叠加满减优惠券,具体如何操作才能获取组合优惠价格呢?快来get优惠券组合使用攻略吧!
484 4

相关产品

  • 云数据库 RDS MySQL 版