GreatSQL MGR 使用 IPv6 连接

通过IPv6连接数据库的方法 通过IPv6连接数据库的方法验证操作系统是否支持ipv6本机测试:ping6 ::1//ifconfig远程测试:ping6 -I eth0 ipv6MySQL支持IPV6连接配置bind-address配置创建登陆用户给root用户增加执行权限本地连接MySQL远程连接MySQLnetstat查看3306端口使用jdbc连接数据库的url连接MySQL连接sqlserver连接Oracle连接mongodb 本文总结了配置和验证MySQL数据库支持IPV6的方法,并扩展使用jdbc连接其他主流数据库url 阅读详情
  • GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。
  • GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。
  • 作者:王权富贵
  • 文章来源:社区原创

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地址

shell>  ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:16:**:**:**:b4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.***.***/20 brd 192.168.***.255 scope global noprefixroute dynamic eth0
       valid_lft 259198sec preferred_lft 259198sec
    inet6 fe80::216:3eff:fed0:bab4/64 scope link 
       valid_lft forever preferred_lft forever
  • inet6 后面的地址就是IPv6的地址。
  • 注意 eth0网卡下的IPv6地址后面有 scope link 表示此地址为本地链路地址,以链路本地地址为源地址或目的地址的IPv6报文不会被路由设备转发到其他链路,因此不能用于部署MGR。

3.配置ipv6静态地址

由于上面的本地链路地址我们不能直接使用,因此我们可以配置一个IPv6的静态地址,每台机器都要配置。

这里我们使用IPv6(ULA,unique local address)唯一本地地址,该地址类似于IPv4中的私网地址,使用FD00:/8这个网段的地址。

shell> vim /etc/sysconfig/network-scripts/ifcfg-eth0
....
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_FAILURE_FATAL=no
IPV6ADDR=fd00::10/8

添加上面的内容到 ifcfg-eth0 文件。

4.重启网络服务

shell> systemctl restart network

5.再次查看本地IPv6地址

shell> ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:16:**:**:**:b4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.***.***/20 brd 192.168.***.255 scope global noprefixroute dynamic eth0
       valid_lft 259198sec preferred_lft 259198sec
    inet6 fd00::10/8 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fed0:bab4/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

可以看到配置的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连接。

[mysqld]
bind_address = *

设置为 * 值(默认值)或 ::,表示允许所有服务器主机同时连接IPv4和IPv6,也可以设置为特定的IP地址列表。

(2)IPv6地址需要用 [] 括起来

在设置参数 group_replication_local_address 和 group_replication_group_seeds 的值时,需要将每个IPv6的地址用 [] 括起来,如下所示:

[mysqld]
group_replication_local_address='[fd00::10]:33061';
group_replication_group_seeds='[fd00::10]:33061,[fd00::20]:33061,[fd00::30]:33061';

(3)手动指定allowlist

由于MGR默认的allowlist范围如下:

IPv4 (as defined in RFC 1918)
10/8 prefix       (10.0.0.0 - 10.255.255.255) - Class A
172.16/12 prefix  (172.16.0.0 - 172.31.255.255) - Class B
192.168/16 prefix (192.168.0.0 - 192.168.255.255) - Class C

IPv6 (as defined in RFC 4193 and RFC 5156)
fc00:/7 prefix    - unique-local addresses
fe80::/10 prefix  - link-local unicast addresses

127.0.0.1 - localhost for IPv4
::1       - localhost for IPv6

我们所设置的IPv6地址不在这个范围,所以需要将这些IPv6的地址加入allowlist,可以将每个IPv6的地址写入,也可以使用 CIDR notation 这种方法表示。

[mysqld]
group_replication_ip_allowlist='fd00::/8';

7.使用IPv6本地主机地址连接

(1)使用管理员账户登录,创建可以在本机通过IPv6回环地址(::1)进行连接的账户

mysql> create user test1@'::1' identified by 'greatsql';

(2)登录test1账户

shell> mysql -utest1 -pgreatsql -h ::1 -P3306

mysql> select user(),current_user();
+-----------+----------------+
| user()    | current_user() |
+-----------+----------------+
| test1@::1 | test1@::1      |
+-----------+----------------+
1 row in set (0.00 sec)

8.使用IPv6远程主机地址连接

(1)使用管理员账户登录,为IPv6地址为 fd00::20 的主机创建可以连接的账户

mysql> create user test2@'fd00::20' identified by 'greatsql';

(2)登录test2账户

shell> mysql -utest2 -pgreatsql -h fd00::20 -P3306

mysql> select user(),current_user();
+----------------+----------------+
| user()         | current_user() |
+----------------+----------------+
| test2@fd00::20 | test2@fd00::20 |
+----------------+----------------+
1 row in set (0.00 sec)

Enjoy GreatSQL :)

关于 GreatSQL

GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本。

相关链接: GreatSQL社区 Gitee GitHub Bilibili

GreatSQL社区:

捉虫活动详情:https://greatsql.cn/thread-97-1-1.html

社区博客有奖征稿详情:https://greatsql.cn/thread-100-1-1.html

6440

IPv6设置后如何解决MySQL无法连接localhost的问题 运行代码后,如果成功连接到MySQL数据库,则会打印"成功连接到MySQL数据库",否则会打印"无法连接到MySQL数据库"。在MySQL中,每个用户都有指定的主机地址。如果数据库用户的主机地址设置为IPv4地址(例如’127.0.0.1’),那么在IPv6环境下,该用户将无法通过localhost连接MySQL。通过以上步骤,您应该能够解决在配置了IPv6后无法通过localhost连接MySQL的问题。确保在修改配置文件和用户授权后重启MySQL服务,并使用正确的IPv6本地地址进行连接。 阅读详情

相关推荐

linux环境下配置mysql5.6支持IPV6连接的方法

本文主要介绍在linux系统下,如何配置mysql支持IPV6的连接,本文图文并茂给大家介绍的非常详细,具有参考借鉴价值,需要的朋友参考下吧

Mysql数据库管理--高可用集群MGR实战1

MySQL Group Replication(MGR)是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案,MGR是基于原生复制及paxos协议的组复制技术,并以插件的方式提供,可以采取多主模式和单主模式,单主模式下,会自动选主,所有更新操作都在主上进行,多主模式下,所有server都可以同时处理更新操作。下面我们就来搭建下MGR集群(单主模式)。环境清单gtid_mode=on #开启全局事务。

oradbm的博客 1934

stm32f103运行FreeRTOS使用DMA实现USART1不定长接收

使用DMA是实现USART1的不定长接收和发送数据。接收采用FIFO缓存和队列的方式向应用层抛数据。首先定义接收和发送的缓存区,缓存区的大小根据收发数据量确定。DMA接收开启转移完成和转移一般中断。在中断中从缓存向FIFO转移数据。串口开启空闲中断,实现接收数据的分帧。分帧后的数据节点通过写入到队列。发送数据缓存的大小根据发送数据量调整。然后初始化串口和DMA。串口的发送数据接口函数。...

polaris_zgx的博客 1991

Mysql数据库管理20240521---mysql配置IPV6

1)修改my.cnf配置文件,在[mysqld](有的是[mysqld_safe])选项下增加bind-address = ::配置,把bind-address配置成::可以保证同时支持IPV4和IPV6的TCP/IP的连接。4、在centos上使用telnet ipv6地址 3306,测试是否能使用ipv6联通本机mysql,如果能联通,说明mysql ipv6配置成功。7、使用mysql连接工具,配置该数据库的ipv6连接,测试是否能成功连接。2、如果不支持,配置网卡eth0增加IPV6地址。

oradbm的博客 792

【智慧城市】GIS数据获取-获取道路/水路数据

【GIS数据获取】获取道路/水路数据

qq_16599281的博客 4750

告别仿真报错!手把手教你为Intel MAX10 FPGA定制IBIS模型(附Allegro Skill工具)

本文详细介绍了为Intel MAX10 FPGA定制IBIS模型的完整流程,解决信号完整性仿真中的管脚映射问题。通过Allegro Skill工具自动化处理管脚信息,优化IBIS模型关键段落,提升仿真效率和精度,适用于高速数字电路设计。

weixin_33217202的博客 322

MySQL支持IPv6

开启和验证MySQL支持IPv6的方法, 此处使用的MySQL版本为mysql-5.5.35-linux2.6-x86_64。 1.验证操作系统支持IPv6,此处是Linux操作系统 ping6 ::1 2.配置MySQL支持IPv6连接 在MySQL启动时绑定地址,在服务启动时使用如下参数--bind-address=addr配置, 其中addr可以是I...

木木与呆呆的专栏 7761

告别VMware Tools!用open-vm-tools在Ubuntu 22.04上搞定共享文件夹(附开机自动挂载)

本文详细介绍了在Ubuntu 22.04上使用open-vm-tools替代VMware Tools实现高效共享文件夹管理的方法。通过开源工具open-vm-tools,用户可避免传统方案的兼容性问题,享受自动适配内核、系统更新同步等优势。文章包含从安装配置到开机自动挂载的全流程指导,特别适合在VMware虚拟机中运行Ubuntu Desktop的开发者提升工作效率。

weixin_32520095的博客 584

IPV6改造方案-Mysql支持IPV6

mysql支持IPV6 开启IPV6连接支持 [mysqld] bind-address = :: 重启mysql! 修改用户权限可由任意ip访问 update user set host = '%' where user ='root'; #更改权限表,使 mysql可以远程连接 flush privileges; 使用netstat查看端口绑定 [root@xa-05-001 software]# netstat -an | grep 3306 tcp6 0 0 :::330

weixin_43377564的博客 3131

别让你的URDF模型在Gazebo里‘躺平’:手把手教你配置libgazebo_ros_diff_drive插件让两轮小车动起来

本文详细解析了如何在Gazebo中配置libgazebo_ros_diff_drive插件,使两轮小车模型实现动态仿真。从URDF模型到传动装置,再到差速驱动插件的精细调参,手把手教你解决机器人‘躺平’问题,提升ROS1与Gazebo仿真的实战能力。

weixin_42552716的博客 334

HFSS实战(二)——精准仿真高速PCB差分线的信号完整性

本文深入探讨了使用HFSS进行高速PCB差分线信号完整性仿真的关键技术与实战经验。从设计文件导入、模型裁剪到差分端口设置,详细解析了精准仿真的全流程,特别强调了材料特性和3D电磁场仿真在解决微带线损耗等问题中的重要性。文章还提供了常见问题排查指南和效率优化技巧,帮助工程师提升高速PCB设计的仿真精度与效率。

weixin_38170829的博客 573

mysql ipv6 连接url_linux环境下配置mysql5.6支持IPV6连接的方法

简介:本文主要介绍在linux系统下,如何配置mysql支持IPV6的连接。环境要求:1、debian7.5操作系统虚拟机2、mysql5.6版本的数据库,并且已经在debian7.5系统上安装成功,可以正常通过IPV4的地址连接配置方法1、确认系统是否支持IPV6,输入命令ping6 ::1,有下图回显说明支持IPV6地址2、如果不支持,配置网卡eth0增加IPV6地址1)输入命令vim /et...

weixin_35492602的博客 346

Python 爬虫实战:爬取评论数据做情感分析

摘要:本文介绍基于Python的京东商品评论爬取与情感分析全流程实现。通过Requests库抓取评论数据接口,结合JSON解析获取结构化评论信息。利用SnowNLP进行中文文本情感分析,量化用户评价的情感倾向(正面/负面/中性)。结果显示正面评论占比66.3%,负面评论13.3%,关键词分析发现"卡顿""发热"是主要负面因素。该方法可应用于产品优化、品牌管理等场景,为决策提供数据支持。

2503_91057718的博客 1709

IPV6部署MYSQL方案

命令行:ip -6 address show。2、支持进行对应链接信息的链接测试如下图。1、首先查看服务器是否支持IPV6。3、对应代码链接信息调整。

qq_33985616的博客 452

Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.5 RTC设备编写与实现

4. Linux kernel RTC子系统goldfish_rtc driver分析。电脑,会需要时间,还比如 我们的手机、平板,都需要时间;驱动基本就是应用层需要什么数据你给什么数据就行,基本必须实现的就是。3.2 Linux kernel RTC 设备描述符讲解。中看到他的具体实现,也可以根据他的寄存器描述直接在。5. 将驱动添加进kernel和测试RTC驱动。系统来说,时间是一个非常重要的功能;之类的函数接口,接下来我们就开始讲解如何写。,所以我们直接移植设备树即可。,他的寄存器很简单,你可以从。

DSMGUOGUO的博客 568

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

允许远程登录MySQL,用IPv6连接MySQL,bind-address 笔记250701

配置项推荐值作用监听所有 IPv6 接口用户 Host 字段'%'或具体地址允许 IPv6 远程连接防火墙开放 3306/tcp允许 IPv6 流量通过注意:开放远程访问需评估安全风险,建议结合 VPN 或 TLS 加密连接。

kfepiza的博客 1263

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

【MGR】MySQL Group Replication快速开始

通常,group_replication_group_seeds列表包含每个组成员的group_replication_local_address的主机名:端口,但这不是强制性的,可以选择组成员的子集作为种子。换句话说,在s2上,group_replication_bootstrap_group设置为off,您在启动Group Replication之前不需要发出SET GLOBAL group_replication_bootstrap_group=ON;但在另一个失败的情况下,组将无法继续处理写事务。

DBA之路的博客 1621

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

5.1.9.3使用IPv6本地主机地址进行连接

以下过程显示如何配置MySQL以允许通过使用::1本地主机地址连接到本地服务器的客户端进行IPv6连接。这里给出的说明假定您的系统支持IPv6。使用适当的--bind-address选项启动MySQL服务器 以允许它接受IPv6连接。例如,在服务器选项文件中放入以下行并重新启动服务器:[mysqld]bind-address = *或者,您可以将服务器绑定到服务器 ::1,但这会使服务器对TCP ...

dandan520520的博客 2214

MySQL MGR安装部署

部署环境: 模式 单主模式 主节点(8.0.22) 192.168.1.240 备节点(8.0.22) 192.168.1.241 备节点(8.0.22) 192.168.1.242 MGR配置以及限制: 数据库版本MySQL 5.7.17及以上。 InnoDB存储引擎:数据必须存储在 InnoDB事务存储引擎中。 disabled_storage_engines="MyISAM,BLACKHOLE,FEDERA

sinat_36757755的博客 1899

ipv6远程连接mysql_如何利用IPv6进行远程桌面连接

如何利用IPv6进行远程桌面连接学校是教育网,其中寝室和实验室的IPv4地址被划分成了两个VLAN,所以没法使用windows的远程连接功能。今天突然想到学校的IPv6地址可能并未划分成两个VLAN,于是想试试通过IPv6实现寝室和实验室的远程连接。说明:进行远程连接的两台机器都是win7。①首先要设置被远程连接的主机,计算机->属性->远程设置->远程->‘远程协助’勾选...

weixin_35729243的博客 780

5.MGR组复制故障处理-IP没有在白名单中

MGR故障处理

weixin_43346403的博客 581

Mysql MGR搭建

一、MGR的要求 ① mysql组复制是mysql5.7.16以后的版本才支持的,小于5.7.17版本的请升级 ② InnoDB 存储引擎 数据库非系统表的必须是innoDB存储引擎,可以设置 disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY" ② 主键 组要​​复制的每个表都必须具有定义的主键,或等效的主键,其中等效键是非空唯一键。这些键需要作为表中每一行的唯一标识符,使系统能够通过准确识别每个事务修改.

u010648194的博客 2958

MGR 限制与环境要求

环境要求: 基础设施: 1、只支持Innodb 存储引擎 由于存在冲突检测,冲突需要回滚事务 可以设置参数,来禁止其他的存储引擎 disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY" 2、主键 每个表都需要有主键或者是等效的非NULL唯一键 3、IPV4网络 从MySQL 8.0.14开始支持IP...

nicolevv的博客 2645

mysql支持ipv6

1、确认系统是否支持IPV6,输入命令ping6 ::1,有TTL回显说明支持IPV6地址 2、如果不支持,配置网卡eth0增加IPV6地址 3、配置mysql允许IPv6连接 1)修改my.cnf配置文件,在[mysqld](有的是[mysqld_safe])选项下增加bind-address = ::配置,把bind-address配置成::可以保证同时支持IPV4和IPV6的TCP/I...

weixin_42717083的博客 5871

【MySQL】MGR入门指南

原文:https://dev.mysql.com/doc/refman/8.0/en/group-replication-getting-started.html译者:kun最近在翻译MySQL8.0官方文档 本文是第18.2入门指南部分。 MySQL组复制是MySQL server的插件,组中的每个server都需要配置和安装该插件。本节提供了一个详细的教程,其中包含创建至少三台server...

weixin_33973609的博客 554
上一篇: 使用Keepalived工具实现集群节点的高可用
下一篇: 图文结合带你搞懂MySQL日志之Slow Query Log(慢查询日志)
GreatSQL社区
博客等级 码龄5年 1210粉丝 390原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值