API 文档

有奖调研

无法连接实例

最近更新时间:2021-09-07 17:28:24

现象描述

  • 现象1:从 CVM 连接登录云数据库 MySQL,连接失败。
  • 现象2:从本地电脑连接登录云数据库 MySQL,连接失败。
  • 现象3:从数据库管理 DMC 平台连接登录云数据库 MySQL,连接失败。

可能原因

可能原因说明可能原因说明
网络问题1云服务器(CVM)采用私有网络(VPC),MySQL 采用基础网络 帐号所授权的主机地址问题数据库帐号限制了访问的具体主机地址
网络问题2CVM 采用基础网络,MySQL 采用 VPC 连接语法问题连接命令有误
网络问题3CVM 与 MySQL 在同一地域内,但属于不同的 VPC 网络 IP 和端口问题命令行或配置文件中的 IP 和端口有误
网络问题4CVM 与 MySQL 不在同一地域内,属于不同的 VPC 网络 MySQL 实例状态MySQL 实例隔离中,可通过 回收站 恢复
安全组配置问题CVM 安全组配置有误 CVM 实例状态CVM 实例隔离中或关机中,通过 控制台 恢复
安全组配置问题MySQL 安全组配置有误 外网开通状态MySQL 实例未开启外网,可参考 开启外网

解决思路

现象1、2 解决思路

  1. 通过检查工具诊断原因
    云数据库 MySQL 控制台为您提供了 一键连接检查工具,帮助您判断可能导致无法连接的原因,然后根据提示修改后再重新连接实例。
  2. 自主诊断原因
    如果通过一键连接检查工具无法定位问题原因,您也可以 通过下文介绍的失败原因,来主动识别定位失败原因

现象3 解决思路

  1. 确认登录帐号的主机限制中,已对该地域 DMC 服务器的全部 IP 授权,授权请参见 修改授权访问的主机地址。您也可以直接使用%,放通所有 IP,仅由安全组来限制数据库访问来源。
  2. 若确认已授权 IP,则可能是帐号密码错误,请重新输入正确的密码,您也可以 重置密码新建一个权限满足需求的临时账号

处理步骤

现象1、2:CVM、本地连接失败处理方法

步骤1:通过一键连接检查工具定位原因并进行相应处理

  1. 登录 MySQL 控制台,选择需要排查的实例,单击实例 ID,进入实例管理页面。
  2. 在实例管理页面,选择连接检查 > 内网检查外网检查页面。
    说明:

    判断内外网地址,可在实例详情页的基本信息处查看。

  3. 添加访问此 MySQL 实例的 CVM 或外网服务器。
    • 内网检查:添加访问此 MySQL 实例的 CVM。
    • 外网检查:添加访问此 MySQL 实例的外网服务器。
  4. 添加完成后,单击开始检查,检查任务完成后,会生成检查报告。
  5. 根据检查报告,进行问题定位,根据处理建议进行调整后重新进行连接 MySQL。
    • 若为内网检查,检查项及对应处理建议如下:
      检查项异常及处理方法
      MySQL 实例状态 检测到您的 MySQL 实例已销毁,如果您并非有意销毁实例,可通过 回收站 进行恢复
      CVM 实例状态 检测到您的 CVM 实例已销毁,如果您并非有意销毁实例,可通过 回收站 进行恢复
      检查到您的 CVM 实例已关机,如您需要继续使用该 CVM 实例,请前往 控制台 启动该 CVM 实例
      CVM 与 MySQL 处于同一 VPC 检测到您的 CVM 与 MySQL 的网络类型不同,CVM 需要与MySQL 处于相同的网络类型,请参考 网络问题 修改网络类型
      检测到您的 CVM 与 MySQL 不在同一 VPC 网段,CVM 需要与 MySQL 处于同一地域的同一 VPC 中,请参见 网络问题 修改 VPC
      CVM 安全组策略 检测到您 CVM 所绑定安全组的出站规则未放通对 IP 端口的访问,请参见 CVM 安全组配置有误 放通出站规则
      MySQL 安全组策略 检测到您 MySQL 实例所绑定安全组的入站规则未放通对 IP 端口的访问,请参见 MySQL 安全组配置有误 放通入站规则
    • 若为外网检查,检查项及对应处理建议如下:
      检查项异常及处理方法
      MySQL 实例状态检测到您的 MySQL 实例已销毁,如果您并非有意销毁实例,可通过 回收站 进行恢复
      外网开通状态 检测到您的 MySQL 实例未开启外网,可参考 开启外网

步骤2:若工具检查未能解决问题时,可以参考如下原因检查

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

连接语法错误
请检查连接命令是否有误,请参考标准的连接命令:内网连接mysql -h hostname -u username -p、外网连接mysql -h hostname -P port -u username -p,详细步骤请参见 连接 MySQL 实例

命令行或配置文件中的 IP 和端口有误
请在 MySQL 控制台 检查实例的 IP 端口和命令行、配置文件中的信息是否一致。

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

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

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

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

现象3:DMC 平台登录失败处理方法

  1. 请确认登录帐号的主机限制中,已对该地域 DMC 服务器的全部 IP 授权,授权请参见 修改授权访问的主机地址。您也可以直接使用%,放通所有 IP,仅由安全组来限制数据库访问来源。
  2. 若确认已授权 IP,则可能是帐号密码错误,请重新输入正确的密码,您也可以 重置密码新建一个权限满足需求的临时账号

附录1

网络问题解决方案

若 CVM 和 MySQL 的网络类型不一致,则 CVM 无法直接通过内网连接 MySQL。

CVM 采用 VPC,MySQL 采用基础网络

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

    • 切换后,两者必须处于同一 VPC 网络,才能内网互通。
    • 基础网络切换至 VPC 网络后,无法再切换回来。
    • 切换网络会导致该实例内网 IP 变化,超出旧 IP 地址回收时间后,旧的访问 IP 会失效,请及时修改客户端程序。
      旧 IP 地址保留时间默认为24小时,最长保留时间支持168小时,若旧 IP 地址的回收时间设置为0小时,更换网络后会立即回收旧 IP 地址。
    • 基础网络切换私有网络后不可逆,云数据库切换至私有网络后与其他私有网络及基础网络的云服务不互通。
    • 若切换的云数据库为主实例,有挂载只读实例或灾备实例,当主实例切换网络后,挂载的只读实例或灾备实例不会随主实例自动切换网络,需手动进行网络切换。
  • 解决办法二:重新购买基础网络的 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 的网络类型都为 VPC 网络,且两者都位于同一 VPC 网络时,才能直接通过内网互通。如果同地域但位于不同 VPC,可以采取以下方法使 CVM 和 MySQL 进行互通。

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

CVM 与 MySQL 不在同一地域内,属于不同的 VPC 网络

CVM 和 MySQL 不在同一个地域内,属于不同的 VPC 网络,则 CVM 无法直接通过内网连接 MySQL。

  • 解决办法一(推荐):使用与 MySQL 同一 VPC 的 CVM 进行连接。
  • 解决办法二:在两个 VPC 网络之间建立 云联网
  • 解决办法三:CVM 使用 MySQL 的外网连接地址连接 MySQL。这种方式的性能、安全性、稳定性较差,建议您使用 VPC 网络。

安全组配置问题解决方案

若 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,须放通 MySQL 实例端口。

    • MySQL 内网默认端口为3306,同时支持自定义端口,若修改过默认端口号,安全组中需放通 MySQL 新端口信息。
    • MySQL 外网默认端口为60719。您可登录 MySQL 控制台 单击实例 ID 进入详情页查看端口。
      >

附录2

查看内外网地址

登录 MySQL 控制台,在实例列表,单击实例 ID,进入实例详情页可查看内外网地址。

网络类型/ VPC 判断方法

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

说明:

CVM 和 MySQL 须是同一账号:

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