
GreatSQL MGR 使用 IPv6 连接
1.概述
本文基于 GreatSQL 8.0.25-16 ,以下测试均使用此版本。
MySQL支持IPV6,创建用户时主机部分可以指定IPv6的地址,可以通过IPv6连接到MySQL服务器,从MySQL 8.0.14开始,组复制组成员可以在组内使用IPv6地址进行通信。
此次在测试环境中使用IPv6地址进行MGR的部署,分享一下使用IPv6部署MGR时,设置关于MGR参数需注意的地方。
2.查看本机IPv6地址
执行 ip a
在输出内容中查找当前使用的网卡的IPv6地址
- inet6 后面的地址就是IPv6的地址。
- 注意 eth0网卡下的IPv6地址后面有 scope link 表示此地址为本地链路地址,以链路本地地址为源地址或目的地址的IPv6报文不会被路由设备转发到其他链路,因此不能用于部署MGR。
3.配置ipv6静态地址
由于上面的本地链路地址我们不能直接使用,因此我们可以配置一个IPv6的静态地址,每台机器都要配置。
这里我们使用IPv6(ULA,unique local address)唯一本地地址,该地址类似于IPv4中的私网地址,使用FD00:/8这个网段的地址。
添加上面的内容到 ifcfg-eth0 文件。
4.重启网络服务
5.再次查看本地IPv6地址
可以看到配置的IPv6地址已经生效,同样的方式配置其他机器。
6.使用IPv6部署MGR需要注意的地方
这里主要说明一下,使用IPv6部署MGR时,设置关于MGR参数需注意的地方。部署MGR的步骤,我们这里不再重复了,可以参考GreatSQL安装部署MGR集群文档:https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/deep-dive-mgr/deep-dive-mgr-03.md
(1)设置 bind_address 参数
设置bind_address系统变量,以指定实例接受的TCP/IP连接。
设置为 * 值(默认值)或 ::,表示允许所有服务器主机同时连接IPv4和IPv6,也可以设置为特定的IP地址列表。
(2)IPv6地址需要用 [] 括起来
在设置参数 group_replication_local_address 和 group_replication_group_seeds 的值时,需要将每个IPv6的地址用 [] 括起来,如下所示:
(3)手动指定allowlist
由于MGR默认的allowlist范围如下:
我们所设置的IPv6地址不在这个范围,所以需要将这些IPv6的地址加入allowlist,可以将每个IPv6的地址写入,也可以使用 CIDR notation 这种方法表示。
7.使用IPv6本地主机地址连接
(1)使用管理员账户登录,创建可以在本机通过IPv6回环地址(::1)进行连接的账户
(2)登录test1账户
8.使用IPv6远程主机地址连接
(1)使用管理员账户登录,为IPv6地址为 fd00::20 的主机创建可以连接的账户
(2)登录test2账户
文章转载自公众号:GreatSQL社区
