tencent cloud

文档反馈

内网连接

最后更新时间:2023-12-27 10:04:45
    本文为您介绍使用云服务器 CVM 通过云数据库 MySQL 内网地址连接数据库的方法。

    背景

    云服务器 CVM 和云数据库 MySQL 属于同一个腾讯云主账号,位于同一个地域,处于同一个 VPC 时,建议通过内网连接的方式连接数据库,内网连接的网络延迟低,能带来更稳定、安全的连接访问环境。
    连接方式
    应用场景
    说明
    是否计费
    内网连接
    CVM 和 MySQL 属于同一个腾讯云主账号,位于同一个地域,处于同一个 VPC 内。具体请参见 场景一
    内网网络高速,延迟低。
    暂不收费
    无法使用内网连接的场景,可以通过外网连接。具体请参见 场景二
    说明:
    外网连接易受网络影响,如您对网络有较高要求,推荐使用内网连接或者 云联网连接
    
    支持第三方应用连接服务。
    外网地址需手动开启。
    开启外网地址,会使您的数据库服务暴露在公网上,可能导致数据库被入侵或攻击。
    适用于开发或辅助管理数据库,不建议正式业务连接使用,因为可能存在不可控因素会导致外网连接不可用(例如 DDOS 攻击、突发大流量访问等)。
    暂不收费
    CVM 和 MySQL 处于不同 VPC,或使用轻量应用服务器连接 MySQL。具体请参见 场景三
    全网互联。
    低时延,高速传输。

    准备工作

    准备好 MySQL 实例,请参见 创建 MySQL 实例
    准备好 CVM,请参见 自定义配置 Linux 云服务器
    说明:
    在准备工作中,需要注意以下几点:
    需授权允许访问 MySQL 的 IP,您可以在云数据库 MySQL 控制台进行操作,详情请参见 修改授权访问的主机地址
    
    如果您选择使用 root 账号连接登录云数据库 MySQL,建议在购买 MySQL 实例时直接设置密码;如果您通过购买页的导入已有配置能力,或通过实例列表的购买相同配置能力创建实例,请确认您的 root 账号已在控制台 重置密码,否则使用无密码状态的 root 账号登录,将会报错。
    
    
    
    需要配置 CVM 和云数据库 MySQL 的安全组出入站规则,来限制允许访问 MySQL 的 IP,详情请参见 管理云数据库安全组。安全组需放通 MySQL 实例的内网端口,您可登录 云数据库 MySQL 控制台,单击实例 ID 进入详情页查看端口,并记住内网地址,用于后续连接数据库。
    MySQL 安全组入站规则:
    
    
    CVM 安全组出站规则:
    
    
    CVM 和云数据库 MySQL 的网络处于同一 VPC,修改云数据库 MySQL 的网络请参见 切换网络
    CVM 的 VPC 可在实例详情 > 基本信息 > 网络信息下查看:
    
    
    
    云数据库 MySQL 的 VPC 可在实例详情 > 实例信息 > 所属网络后查看:
    
    
    

    操作指南

    步骤一:登录云服务器 CVM

    1. 登录 云服务器控制台,在实例列表中找到目标云服务器,在右侧操作栏中单击登录
    
    
    2. 登录窗口中,选择密码登录,输入云服务器的用户名和密码,并单击登录即可正常登录。如下图所示:
    
    
    3. 登录成功后,界面如下图所示:
    

    步骤二:安装 MySQL 客户端(如之前已在此 CVM 上已安装,则可跳过步骤二)

    执行如下命令安装 MySQL 客户端:
    yum install mysql
    提示 Complete! 说明 MySQL 客户端安装完成。

    步骤三:使用 CVM 连接云数据库 MySQL

    1. 在 CVM 中执行如下命令,登录到 MySQL 数据库实例。
    mysql -h <内网 ip 地址> -u <用户名,默认 root> -P <端口号,默认3306> -p
    <内网 ip 地址>:替换为目标 MySQL 数据库实例的内网地址,在 MySQL 控制台 的实例详情页可查看内网地址。
    
    
    
    <用户名,默认 root>:替换为目标 MySQL 数据库实例的账号名,默认的账号名是 root。
    
    
    <内网端口号>:替换为目标 MySQL 数据库实例的内网端口号,默认3306,如修改了端口号,可在 MySQL 控制台 的实例详情页查看新内网端口号。
    
    
    
    2. 在提示 Enter password:后输入 MySQL 实例的账号对应的密码,如忘记密码可参见 重置密码 进行修改。 本例中提示 mysql> 说明成功登录到 MySQL。
    
    

    常见问题

    内网连接是否收费?

    内网连接免费使用,暂不收费。

    内网端口是否可修改?

    可以修改,您可登录 MySQL 控制台,在目标实例详情页,单击内网地址后的编辑图标进行修改。
    
    
    

    内网连接错误如何自查?

    通过内网地址连接数据库失败的可能原因,通常与云服务器类型、账号密码、端口、安全组、网络及实例问题相关,以下分别为您介绍各种场景的自查方法。更多自查诊断处理请参见 内网连接失败
    1. 检查您用于连接的服务器是否是云服务器 CVM。
    使用内网连接,需要所使用的服务器为 云服务器 CVM,如果您使用的是 轻量应用服务器 或者其他非腾讯平台服务器,则暂不支持通过内网地址连接,您可以参考 自定义配置 Linux 云服务器 重新创建一个云服务器 CVM 再通过内网地址连接数据库。
    2. 登录云服务器 CVM 后,通过命令登录云数据库时反复失败,可检查您用于登录数据库的账号和密码是否存在错误。
    在命令行中:mysql -h <内网 ip 地址> -u <用户名,默认 root> -P <端口号,默认3306> -p,用于登录的账号和密码需对应正确,如您使用的是非 root 账号登录,则密码也需要输入对应非 root 账号的密码,在 CVM 界面输入密码时,密码是不会随输入而显示的,需一次性正确输入并按下回车键,若忘记密码,您可以 重置密码 后重试。
    3. 检查安全组配置是否合理,是否限制 IP。
    在 CVM 安全组中配置出站规则,当出站规则的目标配置不为0.0.0.0/0且协议端口不为 ALL 时,需要把 MySQL 的内网 IP 及端口添加到出站规则中。
    在 MySQL 安全组中配置入站规则,当入站规则的源端配置不为0.0.0.0/0且协议端口不为ALL时,需要把 CVM 的 IP 及端口添加到入站规则中。
    4. 检查是否为网络问题。
    CVM 与 MySQL 需要在同一地域和同一 VPC 网络,可前往 云服务器控制台云数据库 MySQL 控制台 确认是否满足,若不处于同一 VPC 网络,可通过 切换网络 将 MySQL 实例的网络切换为与 CVM 一致。如果确认 CVM 与 MySQL 在同一地域和同一 VPC 网络下,还报错网络问题,请自查本地网络是否有限制。
    5. 检查是否存在实例问题。
    若 MySQL 实例的磁盘满了,可能会影响连接数据库,建议对磁盘扩容,操作请参见 调整数据库实例规格
    当出现 “ERROR 1040(00000):Too many connections” 的提示语时,表明云数据库实例当前最大连接数超过了限制。常见原因及解决方案: i. sleep 线程数很多,建议在控制台调低 wait_timeout 和 interactive_timeout 参数值。操作请参见 设置实例参数。 ii. sleep 线程数很少,也没有慢查询堆积,建议在控制台调大 max_connections 参数值。操作请参见 设置实例参数
    检查 MySQL 实例是否为“主从切换状态”,若连接实例时,MySQL 实例处于主从切换状态,则会连接失败,请等待主从切换完毕后,再重新通过命令连接。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持