本文为您介绍使用云联网连接数据库的方法。
背景
创建云数据库 MySQL 实例后,若云服务器和实例处于不同 VPC(包括同账号/不同账号,同地域/不同地域),可以通过云联网实现连接数据库;同一腾讯云账号下,若您购买的服务器为 轻量应用服务器,由于轻量应用服务器使用腾讯云自动分配的 私有网络 VPC 进行网络隔离,默认情况下内网不与处于私有网络 VPC 中的云数据库 MySQL 互通,因此,无法通过轻量应用服务器直接访问云数据库 MySQL,需通过关联云联网实现连接数据库。 连接方式 | 应用场景 | 说明 | 是否计费 |
| CVM 和 MySQL 属于同一个腾讯云主账号,位于同一个地域,处于同一个 VPC 内。具体请参见 场景一。 | 内网网络高速,延迟低。 | 暂不收费 |
| 无法使用内网连接的场景,可以通过外网连接。具体请参见 场景二。 说明: 外网连接易受网络影响,如您对网络有较高要求,推荐使用 内网连接 或者云联网连接。
| 支持第三方应用连接服务。 外网地址需手动开启。 开启外网地址,会使您的数据库服务暴露在公网上,可能导致数据库被入侵或攻击。 适用于开发或辅助管理数据库,不建议正式业务连接使用,因为可能存在不可控因素会导致外网连接不可用(例如 DDOS 攻击、突发大流量访问等)。 | 暂不收费 |
云联网连接 | CVM 和 MySQL 处于不同 VPC,或使用轻量应用服务器连接 MySQL。具体请参见 场景三。 | 全网互联。 低时延,高速传输。 | |
准备工作
注意事项
轻量应用服务器内网互联功能本身免费,您仅需关注云联网产品计费信息,详情请参见 云联网计费总览。其中同地域5Gbps及以下带宽免费,如需实现跨地域内网互联,需在云联网中购买 非跨境带宽。 轻量应用服务器不支持通过关联云联网实现跨境内网互联,即使该云联网已购买跨境带宽。
同一账号下:
同地域内的所有轻量应用服务器处于同一个 VPC 中,一个 VPC 只能同时关联一个云联网。
不同地域内的轻量应用服务器处于不同的 VPC 中,不同 VPC 需要分别执行关联云联网操作。
如果某地域中不存在轻量应用服务器实例,则用户无法在该地域执行关联云联网操作。
操作指南
2. 选择云数据库 MySQL 实例所在的地域,申请关联云联网。 3. 在弹出的关联云联网窗口中,选择新建云联网。 4. 再弹窗下完成云联网实例的创建,然后回到轻量应用服务器内网互联的关联云联网界面,可刷新出新建的云联网实例,然后单击确定。
注意:
仅支持关联同账号下的云联网。
提交关联申请后,请您在7天内登录 云联网控制台 同意申请。否则7天后申请过期,需进行重新关联申请。 5. 登录 云联网控制台,单击目标云联网 ID 进入云联网详情页。 6. 在云联网详情页中,选择关联申请所在行右侧的同意。
轻量应用服务器的 VPC 实例默认会添加备注为 “Lighthouse VPC”,请注意选择。
7. 在弹窗下,添加目标云数据库 MySQL 的 VPC 网络地址,单击新增实例,选择地域,VPC,单击确定,内网互联页面显示该地域状态为“已连接”。
9. 在 云联网控制台,单击目标云联网 ID 进入云联网详情页,查看路由是否有效,如果存在启用路由为关闭状态,请开启。 10. 在 轻量应用服务器控制台,找到目标轻量应用服务器,单击登录,选择密码登录,输入用户名、端口、密码后,再单击登录。 11. 登录成功后,执行如下命令,下载安装 MySQL。
方式1(若方式1执行失败,可按照方式2进行):
方式2(若方式1执行成功,可忽略方式2):
执行如下命令,下载安装 MariDB。
yum -y install mariadb-server
安装成功后,执行如下命令,启动 MariaDB,即可使用 MySQL。
12. 执行如下命令,连接登录云数据库 MySQL。
mysql -h <内网 ip 地址> -u <用户名,默认 root> -P <端口号,默认3306> -p
<内网 ip 地址>:替换为目标 MySQL 数据库实例的内网地址,在 MySQL 控制台 的实例详情页可查看内网地址。 <用户名,默认 root>:替换为目标 MySQL 数据库实例的账号名,默认的账号名是 root。
<内网端口号>:替换为目标 MySQL 数据库实例的内网端口号,默认3306,如修改了端口号,可在 MySQL 控制台 的实例详情页查看新内网端口号。 常见问题
云联网连接是否收费?
什么情况下使用云联网连接云数据库 MySQL?
1. 云服务器和云数据库 MySQL 实例处于不同 VPC(包括同账号/不同账号,同地域/不同地域),可以通过 云联网 实现连接数据库。 轻量应用服务器如何实现内网互联?
轻量应用服务器使用腾讯云自动分配的私有网络 VPC 进行网络隔离,默认情况下内网不与云服务器 CVM、云数据库等其他处于私有网络 VPC 中的腾讯云资源内网互通,需通过关联云联网实现。详情请参见 内网互联。 说明:
轻量应用服务器仅支持关联同账号下的云联网,跨账号轻量应用服务器无法互通。
云联网的服务等级是什么?
腾讯云云联网服务提供三种可用性等级:白金、金、银。
同地域的服务等级均为金,且不可修改。
跨地域互通时,提供白金、金、银三个服务等级,用户创建云联网时可选择服务等级。
不同的服务等级费用不同,您可以根据业务需要进行选择,详细内容请参见 计费说明。 云联网连接错误如何自查?
1. 检查云联网的路由表是否有效。请通过以下步骤进行检查:
1.1 在“内网互联”页面中,单击地域卡片中的“云联网 ID”,前往该云联网详情页。
1.2 在云联网详情页中,选择路由表页签。
1.3 需确认新增的路由条目为“有效”,若存在 CIDR 冲突的情况,则该路由条目可能无效。
2. 登录轻量应用服务器后,通过命令登录云数据库时反复失败,可检查您用于登录数据库的账号和密码是否存在错误。
在命令行中:mysql -h <内网 ip 地址> -u <用户名,默认 root> -P <端口号,默认3306> -p,用于登录的账号和密码需对应正确,如您使用的是非 root 账号登录,则密码也需要输入对应非 root 账号的密码,在轻量应用服务器界面输入密码时,密码是不会随输入而显示的,需一次性正确输入并按下回车键,若忘记密码,您可以 重置密码 后重试。 3. 检查是否存在实例问题。
若 MySQL 实例的磁盘满了,可能会影响连接数据库,建议对磁盘扩容,操作请参见 调整数据库实例规格。 当出现 “ERROR 1040(00000):Too many connections” 的提示语时,表明云数据库实例当前最大连接数超过了限制。常见原因及解决方案:
i. sleep 线程数很多,建议在控制台调低 wait_timeout 和 interactive_timeout 参数值。操作请参见 设置实例参数。
ii. sleep 线程数很少,也没有慢查询堆积,建议在控制台调大 max_connections 参数值。操作请参见 设置实例参数。 检查 MySQL 实例是否为“主从切换状态”,若连接实例时,MySQL 实例处于主从切换状态,则会连接失败,请等待主从切换完毕后,再重新通过命令连接。
本页内容是否解决了您的问题?