轻量云服务器连接自身云数据库 连接腾讯云分布式数据库 TDSQL(通常指 TDSQL for MySQL 或 TDSQL-C)与连接普通单机数据库略有不同,因为分布式架构涉及网关层(Proxy/Gateway)。
对于**轻量应用服务器(Lighthouse)**用户,连接 TDSQL 主要分为两种场景:
以下是高信息密度、可执行的连接攻略。
TDSQL 分布式版通常通过 Proxy(代理节点) 对外提供服务,而不是直接连接后端的数据分片(Shard)。
如果你的轻量服务器和 TDSQL 实例都在同一个地域(例如都在“上海”),这是最佳方案。
登录腾讯云控制台 -> 数据库产品 -> TDSQL -> 找到你的实例 -> 基本信息。 记录以下关键信息:
gxxxxxx.sql.tencentcdb.com 或一个内网 IP。6379 (Redis) 或 3306 (MySQL),TDSQL for MySQL 通常是 3306。TDSQL 对 IP 访问控制非常严格。
hostname -I 或 ifconfig,查找以 10.x.x.x 或 172.x.x.x 开头的地址。IP/32;如果是整个子网,填 IP/MASK。SSH 登录轻量服务器,安装 MySQL 客户端:
# Ubuntu/Debian
sudo apt install mysql-client -y
# CentOS
sudo yum install mysql -y使用命令行测试:
mysql -h <PROXY_IP> -P 3306 -u <USERNAME> -pimport pymysql
conn = pymysql.connect(
host='<PROXY_IP>', # 使用内网 Proxy IP
port=3306,
user='<USERNAME>',
password='<PASSWORD>',
database='<DATABASE_NAME>'
)如果你的轻量服务器在外地(如北京),而 TDSQL 在上海,你需要通过公网连接。
在 TDSQL 白名单中,添加你的轻量服务器的公网 IP。
curl ifconfig.me。0.0.0.0/0。在腾讯云控制台 -> 轻量应用服务器 -> 防火墙,确保没有规则阻止出站连接(通常默认允许所有出站,但需检查是否有自定义限制)。
mysql -h <TDsql_PUBLIC_DOMAIN_OR_IP> -P 3306 -u <USERNAME> -p⚠️ 警告:
对于分布式数据库,建议使用支持分片路由特性的客户端库,以获得更好的性能。
如果使用 Spring Cloud Alibaba 或 TDSQL 官方提供的 Starter,可以自动处理分片逻辑。
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tdsql-jdbc-spring-boot-starter</artifactId>
<version>latest</version>
</dependency>普通 PyMySQL 也可以连接,但如果数据量极大,建议使用腾讯云的 TDSQL Python SDK 或 Proxy 优化版驱动。
同样可以使用标准 MySQL 驱动,但需注意连接池大小,避免并发过高导致 Proxy 拒绝连接。
Table doesn't exist 或数据不一致。utf8mb4)。否则可能出现中文乱码。?ssl=true 并使用腾讯云提供的 CA 证书,以确保数据安全。mysql 命令行验证连通性。按照以上步骤,你应该能顺利连接到腾讯云 TDSQL 分布式数据库。如果遇到具体报错,请提供错误信息以便进一步排查。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。