Skip to content

TDSQL 实例创建

实例类型选择

实例架构类型

单节点实例

  • 适用场景:开发测试环境、小型应用、低并发场景
  • 特点:部署简单,资源占用少,成本低
  • 风险:无高可用性保障,单点故障将导致服务中断

主从实例

  • 适用场景:生产环境、高可用要求、读写分离需求
  • 特点:主从复制,自动故障切换,支持读写分离
  • 优势:提供高可用性保障,降低主库负载

多可用区实例

  • 适用场景:核心业务、高可用性要求极高的场景
  • 特点:跨可用区部署,可用区级故障不影响服务
  • 优势:更高的可用性保障,多活架构设计

分布式实例

  • 适用场景:超大规模业务、高并发场景
  • 特点:分库分表,横向扩展能力强
  • 优势:支持PB级数据存储,百万级并发处理

实例规格选择

计算规格

  • 按照CPU核数和内存大小划分
  • 常见规格:2核4G、4核8G、8核16G、16核32G、32核64G等
  • 选择原则:根据业务负载、并发量和数据量进行评估

存储规格

  • 支持SSD云盘、本地SSD盘等存储类型
  • 容量选择:根据数据量、备份策略和增长预期评估
  • IOPS和吞吐量:根据业务IO需求选择合适的存储性能

实例创建流程

1. 准备工作

环境检查

  • 确认网络环境可用,VPC和子网已配置
  • 确认安全组规则已设置,允许必要的端口访问
  • 确认账号权限足够,能够创建TDSQL实例

参数规划

  • 实例名称:建议使用业务标识+环境+序号的命名规则
  • 字符集:默认UTF8MB4,根据业务需求选择
  • 时区设置:建议统一使用UTC+8时区
  • 端口设置:默认3306,可根据安全需求修改

2. 实例创建操作

控制台创建

  1. 登录TDSQL控制台
  2. 选择实例类型和架构
  3. 配置实例基本信息
    • 实例名称
    • 数据库版本
    • 实例规格
    • 存储类型和容量
  4. 配置网络信息
    • VPC和子网
    • 安全组
  5. 设置管理员账号和密码
  6. 确认配置信息,提交创建请求

API创建

bash
# 使用TDSQL API创建实例示例
curl -X POST "https://tdsql.tencentcloudapi.com/" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"Action":"CreateInstance","Version":"2018-03-26","InstanceType":"MASTER_SLAVE","InstanceName":"test-tdsql-instance","Zone":"ap-guangzhou-1","VpcId":"vpc-xxxxxxxx","SubnetId":"subnet-xxxxxxxx","SecurityGroupId":"sg-xxxxxxxx","Memory":4000,"Storage":50,"EngineVersion":"5.7","AdminUser":"root","AdminPassword":"xxxxxxxx"}'

命令行工具创建

bash
# 使用TDSQL命令行工具创建实例
tdsql-cli instance create \
  --instance-type MASTER_SLAVE \
  --instance-name test-tdsql-instance \
  --zone ap-guangzhou-1 \
  --vpc-id vpc-xxxxxxxx \
  --subnet-id subnet-xxxxxxxx \
  --security-group sg-xxxxxxxx \
  --memory 4000 \
  --storage 50 \
  --engine-version 5.7 \
  --admin-user root \
  --admin-password xxxxxxxx

3. 实例创建后的验证

实例状态检查

  • 查看实例状态是否为"运行中"
  • 检查主从复制状态是否正常
  • 验证实例连接是否正常

基本配置验证

  • 检查实例规格是否与配置一致
  • 验证存储容量是否正确
  • 确认网络配置是否生效

功能验证

  • 创建测试数据库和表
  • 执行基本SQL操作
  • 验证备份功能是否正常

实例创建最佳实践

命名规范

  • 实例名称:业务标识-环境-序号(如:ecommerce-prod-001)
  • 数据库名称:应用名称-功能模块(如:ecommerce-order)
  • 账号名称:用户名-权限级别(如:appuser-readwrite)

配置优化建议

计算资源配置

  • 业务峰值负载的1.5倍作为CPU和内存配置
  • 考虑未来6-12个月的业务增长
  • 避免过度配置导致资源浪费

存储配置

  • 初始存储容量:数据量的2-3倍
  • 开启自动扩容功能,设置合理的扩容阈值
  • 选择合适的存储类型:生产环境建议使用SSD云盘

参数配置

  • 根据业务类型调整参数:
    • 高并发场景:调大max_connectionsinnodb_buffer_pool_size
    • 分析型场景:调大innodb_buffer_pool_sizesort_buffer_size
    • 写入密集型场景:调整innodb_flush_log_at_trx_commitsync_binlog

安全配置

访问控制

  • 使用最小权限原则分配账号权限
  • 限制IP访问范围,仅允许必要的IP访问
  • 定期更换数据库密码

加密设置

  • 开启数据传输加密(SSL/TLS)
  • 考虑开启数据静态加密
  • 敏感数据字段加密存储

实例创建常见问题

实例创建失败

常见原因

  • 网络配置错误:VPC或子网不存在
  • 安全组规则冲突:端口被占用或规则限制
  • 资源不足:所选可用区资源售罄
  • 参数配置错误:不符合TDSQL参数规范

解决方法

  • 检查网络配置,确保VPC和子网存在
  • 检查安全组规则,确保端口可用
  • 尝试更换可用区或调整实例规格
  • 检查参数配置,确保符合规范

实例创建时间过长

可能原因

  • 网络延迟:可用区之间网络延迟高
  • 存储初始化时间长:大容量存储初始化需要时间
  • 系统负载高:云平台系统负载高

解决方法

  • 耐心等待,通常创建时间不超过10分钟
  • 若超过30分钟仍未完成,联系云服务提供商支持

实例创建后无法连接

排查步骤

  1. 检查实例状态是否为"运行中"
  2. 检查网络连接是否正常
  3. 检查安全组规则是否允许访问端口
  4. 检查账号密码是否正确
  5. 检查IP访问白名单是否包含客户端IP

常见问题(FAQ)

Q1: TDSQL支持哪些数据库版本?

A1: TDSQL支持MySQL 5.6、5.7、8.0等多个版本,具体支持版本可参考TDSQL官方文档或控制台提示。

Q2: 如何选择合适的实例规格?

A2: 选择实例规格时应考虑:

  1. 业务负载:CPU和内存使用率
  2. 并发量:同时连接数和QPS
  3. 数据量:当前数据量和增长预期
  4. 存储IO需求:读写密集型或计算密集型

Q3: 实例创建后可以修改规格吗?

A3: 是的,TDSQL支持实例规格的升降级,包括CPU、内存和存储容量的调整。调整过程通常不会影响业务运行,但建议在业务低峰期进行。

Q4: 主从实例的主从切换是自动的吗?

A4: 是的,TDSQL主从实例支持自动故障切换。当主库发生故障时,系统会自动将从库提升为主库,确保业务连续性。

Q5: 如何确保实例创建的安全性?

A5: 确保实例创建安全性的措施包括:

  1. 使用强密码,定期更换
  2. 配置严格的IP访问白名单
  3. 开启SSL/TLS加密传输
  4. 遵循最小权限原则分配账号权限
  5. 开启审计日志,监控数据库操作

Q6: 实例创建后需要进行哪些初始化配置?

A6: 实例创建后的初始化配置包括:

  1. 创建业务数据库和账号
  2. 配置数据库参数
  3. 设置备份策略
  4. 配置监控告警
  5. 进行数据迁移(如有)