API 文档

文档中心 > 云数据库 MySQL > 快速入门 > 解决无法连接实例问题

解决无法连接实例问题

最近更新时间:2020-07-28 14:57:26

在连接 MySQL 实例,如果遇到无法连接实例的问题 ,那如何解决呢?
本文为您介绍常见的无法连接场景,及对应解决方案。

无法连接常见场景

网络类型不同

若云服务器(CVM)实例和 MySQL 实例的网络类型不一致,则 CVM 无法直接通过内网连接 MySQL 实例。

CVM 实例采用私有网络(VPC),MySQL 实例采用基础网络

  • 解决办法一(推荐):将 MySQL 实例从基础网络切换为 VPC 网络,请参见 切换网络

    注意:

    • 切换后,两者必须处于同一 VPC 网络,才能内网互通。
    • 基础网络切换至 VPC 网络后,无法再切换回来。
    • 切换后,VPC 网络连接立即生效,默认24小时后,旧的访问 IP 会失效,若旧 IP 地址的回收时间设置为0小时,更换网络后会立即回收旧 IP 地址,请及时将该实例相关联的实例迁至 VPC 网络,以保证相关实例的连接。
  • 解决办法二:重新购买基础网络的 CVM 实例(CVM 实例不支持从 VPC 迁移到基础网络)。但是 VPC 网络比基础网络更安全,建议您使用 VPC 网络。

  • 解决办法三:CVM 实例使用 MySQL 实例的外网连接地址连接 MySQL 实例。这种方式的性能、安全性、稳定性较差,建议您使用 VPC 网络。

CVM 实例采用基础网络,MySQL 实例采用私有网络(VPC)

  • 解决办法一(推荐):将 CVM 实例从基础网络迁移到 VPC 网络,具体操作请参见 切换私有网络服务

    注意:

    • 切换后,两者必须处于同一 VPC 网络才能内网互通。
    • 迁移前,请自行解绑内外网负载均衡 CLB 以及弹性网卡,并释放主网卡的辅助 IP,迁移后再进行绑定。
    • 迁移过程中,实例需要进行重启,请勿进行其他操作。
    • 迁移后,请注意检查实例运行状态,内网连接以及远程登录是否正常。
    • 基础网络切换 VPC 网络后不可逆,CVM 切换至 VPC 网络后与其他基础网络的云服务不互通。
  • 解决办法二使用基础网络互通

  • 解决办法三:CVM 实例使用 MySQL 实例的外网连接地址连接 MySQL 实例。这种方式的性能、安全性、稳定性较差,建议您使用 VPC 网络。

地域不同

CVM 实例和 MySQL 实例均为 VPC 网络时,若 CVM 实例和 MySQL 实例的地域不一致,则 CVM 实例无法直接通过内网连接 MySQL 实例。

  • 解决办法一:使用与 MySQL 实例同一账号、同地域且同一 VPC 的 CVM 实例进行连接。

  • 解决办法二:CVM 实例使用 MySQL 实例的外网连接地址连接 MySQL 实例。这种方式的性能、安全性、稳定性较差,建议您使用 VPC 网络。

私有网络不同

默认情况下,CVM 实例与 MySQL 实例的网络类型都为 VPC 网络,且两者都位于同一 VPC 网络时,才能直接通过内网互通。如果位于不同 VPC,可以采取以下方法使 CVM 和 MySQL 进行互通。

  • 解决办法一(推荐):将 MySQL 实例迁移到 CVM 实例所在的 VPC 网络,请参见 切换网络
  • 解决办法二:在两个 VPC 网络之间建立 对接连接
    若不采取以上办法,则位于不同 VPC 网络的 CVM 和 MySQL 只能通过公网互通。这种方式的性能、安全性、稳定性较差。

安全组配置有误

若 CVM 实例和 MySQL 实例的安全组配置有误,则 CVM 实例无法直接通过内网或外网连接 MySQL 实例。

CVM 实例安全组配置有误

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

  1. 登录 安全组控制台,单击安全组名,进入 CVM 绑定的安全组详情页。
  2. 选择【出站规则】页,单击【添加规则】。
    “类型”选择MySQL(3306);“目标”填写您 MySQL 的 IP 地址(段);“策略”选择允许。

MySQL 实例安全组配置有误

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

  1. 登录 安全组控制台,单击安全组名,进入 MySQL 实例绑定的安全组详情页。
  2. 选择【入站规则】页,单击【添加规则】。
    填写您允许连接的 IP 地址(段)及需要放通的端口信息(MySQL 内网端口),选择允许放通。
    “类型”选择MySQL(3306);“来源”填写您 CVM 的 IP 地址(段);“策略”选择允许。
    注意:

    • MySQL 内网默认端口为3306,同时支持自定义端口,若修改过默认端口号,安全组中需放通 MySQL 新端口信息。
    • 安全组入站规则需要放通 MySQL 实例的3306端口。

数据库帐号主机配置有误

若数据库帐号指定了具体主机地址,则其他地址无法连接 MySQL 实例。

您可以通过云数据库 MySQL 控制台修改数据库帐号所授权的主机地址,来限制对数据库的连接,进而提升数据库的连接安全。

  1. 登录 MySQL 控制台,在实例列表中,单击实例名或“操作”列的【管理】,进入实例管理页面。
  2. 选择【数据库管理】>【帐号管理】页,找到需要修改主机的帐号,在“操作”列选择【更多】>【修改主机】。
  3. 在弹出的修改主机对话框中,输入新主机地址,单击【确定】即可修改帐号所授权的主机地址。
    说明:

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

    • 示例1:填入%,表示不做 IP 范围限制,即允许所有 IP 地址的客户端使用该帐号连接数据库。
    • 示例2:填入10.5.10.%,表示允许 IP 范围在10.5.10.%内的客户端使用该帐号连接数据库。

网络类型/VPC判断方法

使用内网地址连接云数据库时,CVM 和 MySQL 须是同一账号,且同一个 VPC 内(保障同一个地域),或同在基础网络。

说明:


CVM 和 MySQL 须是同一账号:

  • 如果实例列表的“网络”处,均显示为“基础网络”或均显示为“VPC”,则表示 CVM 和 MySQL 是同一网络类型。
  • 如果实例列表的“网络”处,均显示为同一个“VPC”(保障同一个地域),则表示 CVM 和 MySQL 是同一 VPC。
  • 查看 CVM 网络类型/同一 VPC :登录 CVM 控制台,在实例列表查看“网络”。
  • 查看 MySQL 网络类型/同一 VPC:登录 MySQL 控制台,在实例列表查看“网络”。
目录