TDSQL-C MySQL 版 内网连接失败

这篇分析CVM通过内网连接TDSQL-C MySQL版失败的原因,包括密码、网络、安全组、账号权限、连接语法、IP端口及实例状态等问题,并给出对应解决方法。 网络问题:同地域不同VPC需切换网络,不同地域建议使用同VPC的CVM。 安全组配置:CVM需正确配置出站规则,TDSQL-C需正确配置入站规则。 账号与命令:检查账号授权主机地址,并确保连接命令格式正确。

相关产品
TDSQL-C MySQL 版 产品页,含版本规格、价格与购买入口。

一、现象描述

从 CVM 通过 TDSQL-C MySQL 版内网地址连接实例,连接失败。

注意:说明:

注意:连接登录 TDSQL-C MySQL 版有多种方式,例如 DMC 数据库管理控制台登录、内网连接、外网连接以及云联网连接,不同连接方式所需要的连接条件是不同的,例如,你需要通过外网地址连接 TDSQL-C MySQL 版,在通过命令连接数据库时,命令行输入的是实例的内网地址,则会连接失败;例如,你购买的是轻量应用服务器,未通过云联网打通网络,直接用命令连接 TDSQL-C MySQL 版,则会连接失败。因此,连接失败时,建议你首先参考 连接集群 > 概览 中的连接方式和应用场景自查在连接条件上是否使用正确。

二、原因汇总

可能原因 说明
密码问题 密码错误。
网络问题1 CVM 与 TDSQL-C MySQL 版在同一地域内,但属于不同的 VPC 网络。
网络问题2 CVM 与 TDSQL-C MySQL 版不在同一地域内,属于不同的 VPC 网络。
安全组配置问题1 CVM 安全组配置有误。
安全组配置问题2 TDSQL-C MySQL 版安全组配置有误。
账号所授权的主机地址问题 数据库账号限制了访问的具体主机地址。
连接语法问题 连接命令有误。
IP 和端口问题 命令行或配置文件中的 IP 和端口有误。
TDSQL-C MySQL 版实例问题 TDSQL-C MySQL 版存储空间写满,最大连接数打满,timeout 参数设置问题,处于“可用区切换状态”等。
TDSQL-C MySQL 版运行状态 TDSQL-C MySQL 版实例隔离中,可通过回收站 恢复。
CVM 实例状态 CVM 实例隔离中或关机中,通过 控制台 恢复或开机。

三、密码问题:密码错误

连接时使用的密码错误,你可以 重置密码 或 新建一个权限满足需求的临时账号来登录数据库。

四、网络问题1:CVM 与 TDSQL-C MySQL 版在同一地域内,但属于不同的 VPC 网络

默认情况下,CVM 与 TDSQL-C MySQL 版的网络类型都为 VPC 网络,且两者都位于同一 VPC 网络时,才能直接通过内网互通。如果同地域但位于不同 VPC,可以将 TDSQL-C MySQL 版的网络切换为 CVM 所在的 VPC 网络,使 CVM 和 TDSQL-C MySQL 版进行互通。操作请参见 更换网络。

五、网络问题2:CVM 与 TDSQL-C MySQL 版不在同一地域内,属于不同的 VPC 网络

CVM 和 TDSQL-C MySQL 版不在同一个地域内,属于不同的 VPC 网络,则 CVM 无法直接通过内网连接 TDSQL-C MySQL 版,建议使用与 TDSQL-C MySQL 版同一 VPC 的 CVM 进行连接。若在 TDSQL-C MySQL 版同一个地域内没有 CVM 实例,可以在 CVM 购买页 新建一个与 TDSQL-C MySQL 版同地域和同 VPC 网络的 CVM 实例。

六、安全组配置问题1:CVM 安全组配置有误

若想使用 CVM 连接 TDSQL-C MySQL 版,需在 CVM 安全组中配置出站规则,当出站规则的目标配置不为0.0.0.0/0且协议端口不为 ALL 时,需要把 TDSQL-C MySQL 版的内网 IP 及端口添加到出站规则中。

1. 登录 安全组控制台,单击安全组名,进入 CVM 绑定的安全组详情页。

2. 选择出站规则页,单击添加规则。
“类型”选择MySQL(3306);“目标”填写你 TDSQL-C MySQL 版的内网 IP 地址(段);“策略”选择允许。

七、安全组配置问题2:TDSQL-C MySQL 版安全组配置有误

若想指定的 CVM 连接 TDSQL-C MySQL 版,需要在 TDSQL-C MySQL 版安全组中配置入站规则,当入站规则的源端配置不为0.0.0.0/0且协议端口不为ALL时,需要把 TDSQL-C MySQL 版的内网 IP 及端口添加到入站规则中。

1. 登录 安全组控制台,单击安全组名,进入 TDSQL-C MySQL 版绑定的安全组详情页。

2. 选择入站规则页,单击添加规则。

3. 填写你允许连接的 IP 地址(段)及需要放通的端口信息(TDSQL-C MySQL 版内网端口),选择允许放通。

4. “类型”选择MySQL(3306);“来源”填写你 TDSQL-C MySQL 版的内网 IP 地址(段);“策略”选择允许。

八、账号所授权的主机地址问题:数据库账号限制了访问的具体主机地址

数据库账号除安全组,子网等网络环境限制以外,还会受到 TDSQL-C MySQL 版自身账号体系的限制。若数据库账号指定了具体主机地址,则其他地址无法连接 TDSQL-C MySQL 版。
你可以通过 TDSQL-C MySQL 版控制台修改数据库账号所授权的主机地址,来限制对数据库的连接,进而提升数据库的连接安全。

1. 登录 TDSQL-C MySQL 版控制台,在集群列表,单击集群 ID,进入集群管理页面。

2. 选择账号管理页,找到需要修改主机的账号,在操作列选择更多 > 修改主机。

3. 在弹出对话框,输入新主机地址,单击确定即可修改账号所授权的主机地址。

注意:说明:

注意:主机地址支持 IP 形式的地址,也支持填入%(表示不做 IP 范围限制);多个主机以分隔符分隔,分隔符支持换行符、空格和; , |。

九、连接语法问题:连接命令有误

请检查连接命令是否有误,请参考标准的内网连接命令:

mysql -h <内网 IP 地址> -u <用户名,默认 root> -P <端口号,默认3306> -p

·<内网 IP 地址>:替换为目标 TDSQL-C MySQL 版数据库实例的内网地址,在 TDSQL-C MySQL 版控制台 的集群详情页可查看内网地址。

注意:说明:

注意:例如内网地址为10.16.0.11:3306,<内网 IP 地址>替换为10.16.0.11。

·<用户名,默认 root>:替换为目标 TDSQL-C MySQL 版数据库实例的账号名,默认的账号名是 root。

·<端口号,默认3306>:替换为目标 TDSQL-C MySQL 版数据库实例的内网端口号,默认3306,如有修改,请以修改后的端口号为准。

十、IP 和端口问题:命令行或配置文件中的 IP 和端口有误

通过命令连接登录数据库时,请检查实例的内网 IP 和端口号是否正确,在 TDSQL-C MySQL 版控制台 的集群详情页可查看内网 IP 和端口号。

十一、TDSQL-C MySQL 版实例问题:实例磁盘写满,最大连接数打满,timeout 参数设置问题等

·若 TDSQL-C MySQL 版实例的存储空间满了,可能会影响连接数据库,建议对存储空间扩容,操作请参见 调整存储空间。

·当出现 “ERROR 1040(00000):Too many connections” 的提示语时,表明云数据库实例当前最大连接数超过了限制。常见原因及解决方案:
i. sleep 线程数很多,建议在控制台调低 wait_timeout 和 interactive_timeout 参数值。操作请参见 设置实例参数。
ii. sleep 线程数很少,也没有慢查询堆积,建议在控制台调大 max_connections 参数值。操作请参见 设置实例参数。

·检查实例是否为“切换可用区”状态,若连接实例时,TDSQL-C MySQL 版处于“切换可用区”状态,则会连接失败,请等待切换完毕后,再重新通过命令连接。

赞 (0)
上一篇 4天前
下一篇 4天前