版本日期:2024.03(最新版本以腾讯云官网产品文档为准,本链接为2024年3月版)
版权声明
本文档著作权归腾讯云计算(北京)有限责任公司(以下简称“腾讯云”)单独所有,未经腾讯云事先书面许可,任何主体不得以任何方式或理由使用本文档,包括但不限于复制、修改、传播、公开、剽窃全部或部分本文档内容。
本文档及其所含内容均属腾讯云内部资料,并且仅供腾讯云指定的主体查看。如果您非经腾讯云授权而获得本文档的全部或部分内容,敬请予以删除,切勿以复制、披露、传播等任何方式使用本文档或其任何内容,亦请切勿依本文档或其任何内容而采取任何行动。
免责声明
本文档旨在向客户介绍本文档撰写时,腾讯云相关产品、服务的当时的整体概况,部分产品或服务在后续可能因技术调整或项目设计等任何原因,导致其服务内容、标准等有所调整。因此,本文档仅供参考,腾讯云不对其准确性、适用性或完整性等做任何保证。您所购买、使用的腾讯云产品、服务的种类、内容、服务标准等,应以您和腾讯云之间签署的合同约定为准,除非双方另有约定,否则,腾讯云对本文档内容不做任何明示或默示的承诺或保证。
InnoDB 引擎
创建实例
本文为您介绍如何通过 TDSQL MySQL版 控制台创建实例。
前提条件
已注册腾讯云账号并完成实名认证。
操作步骤
- 登录 TDSQL MySQL版 购买页,根据实际需求选择各项配置信息,确认无误后,单击立即购买。
- 计费模式:支持包年包月和按量计费。
- 若业务量有较稳定的长期需求,建议选择包年包月。
- 若业务量有瞬间大幅波动场景,建议选择按量计费。
- 地域:选择您业务需要部署 TDSQL MySQL版 的地域。建议您选择与云服务器同一个地域,不同地域的云产品内网不通,购买后不能更换。
- 网络类型:TDSQL MySQL版 所属的网络,建议您选择与云服务器同一个地域下的同一私有网络,否则无法通过内网连接云服务器和数据库。
- 实例版本:请参见 实例架构。
- 主/从可用区:选择主备不同可用区,可保护数据库以防发生故障或可用区中断。
- 内核版本:5.6内核暂不支持分布式事务(XA),如需请选择 5.7版本内核,详细介绍请参见 概述。
- 分片数量/规格/硬盘:建议分片数量选择2、4、8,否则会导致数据倾斜的问题,分片配置请参见 分片配置。
- 所属项目:选择数据库实例所属的项目,缺省设置为默认项目。
- 标签:便于分类管理实例资源,请参见 标签概述。
- 安全组:安全组创建与管理请参见 云数据库安全组。
- 实例名:可选择创建后命名或立即命名。
- 支持字符集:支持 UTF8 、LATIN1 、GBK、UTF8MB4、GB18030 字符集。
- 表名大小写敏感:敏感(lower_case_table_names = 0)、不敏感(lower_case_table_names = 1),该参数为初始化参数,数据库初始化完成后无法修改。
- 开启强同步:支持强同步(可退化)、异步,详细介绍请参见 强同步。
- 计费详情请参见 计费概述。
- 支付完成后,返回实例列表,待实例状态变为运行中,即可进行后续操作。
后续操作
通过内外网地址连接 TDSQL MySQL版 实例,请参见 连接实例。
连接实例
连接方式
连接 TDSQL MySQL版 的方式如下:
- 内网地址连接:通过内网地址连接 TDSQL MySQL版,使用云服务器 CVM 直接连接云数据库的内网地址,这种连接方式使用内网高速网络,延迟低。
- 云服务器和数据库须是同一账号,且同一个 VPC 内(保障同一个地域),或同在基础网络内。
- 内网地址系统默认提供,可在 TDSQL MySQL版 控制台 的实例列表或实例详情页查看。
对于不同的 VPC 下(包括同账号/不同账号,同地域/不同地域)的云服务器和数据库,内网连接方式请参见 云联网。
- 外网地址连接:无法通过内网连接时,可通过外网地址连接 TDSQL MySQL版。外网地址需 手动开启,可在 TDSQL MySQL版 控制台 的实例详情页查看,不需要时也可关闭。
- 开启外网地址,会使您的数据库服务暴露在公网上,可能导致数据库被入侵或攻击。建议您使用内网连接数据库。
- 云数据库外网连接适用于开发或辅助管理数据库,不建议正式业务连接使用,因为可能存在不可控因素会导致外网连接不可用(例如 DDOS 攻击、突发大流量访问等)。
- 目前支持开启外网访问的地域为:广州、上海、北京、成都、南京、香港、重庆、新加坡、美国硅谷、首尔、日本、法兰克福、弗吉尼亚。
- 开启外网访问必须绑定安全组,请参见 配置云数据库安全组。
准备工作
创建账号
- 登录 TDSQL MySQL版 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例管理页面。
- 在实例管理页面,选择账号管理页,单击创建账号。
- 在弹出的对话框,输入账号名、主机、密码等,确认无误后,单击确认,下一步。 主机名实际是网络出口地址,支持%的匹配方式,代表所有 IP 均可访问。
- 进入修改权限对话框,根据需求分配权限后,单击确定修改即可完成权限分配。若需稍后设置权限,单击取消修改即可。
左边导航栏提供完全兼容 MySQL 管理方式的图形化界面,权限管理可以细化到列级。
- 返回账号列表,单击修改权限可以修改用户权限,单击克隆账号可以完全复制当前账号权限来新建一个账号,单击更多可以重置密码和删除账号。
(可选)开启外网地址
- 登录 TDSQL MySQL版 控制台,在实例列表,单击实例 ID,进入实例详情页,在基本信息的外网地址处,单击开启。
- 开启后,在外网地址处获取外网地址和端口号。TDSQL MySQL版 提供了唯一的 IP、端口供用户访问和使用。
创建账号和获取内外网地址后,可通过第三方工具和程序驱动进行连接 TDSQL MySQL版。
- Windows 端,以命令行连接、客户端连接和 JDBC 驱动连接三种方式为例。
- Linux 端,以命令行连接为例。
从 Windows 端连接
Windows 命令行连接
- 打开 Windows 命令行,在 MySQL 的正确路径下输入以下命令。
mysql -h内外网地址 -P端口号 -u用户名 -p
Enter password: **********(输入密码)
- 将相关代码正确输入后,显示如下信息,成功连接数据库,下一步即可进行数据库内相关操作。
Welcome to the MySQL monitor. Commands end with ; or \g.
Windows 客户端连接
- 下载一个标准的 SQL 客户端,例如 MySQL Workbench 、SQLyog 等,本文以 SQLyog 为例。
- 打开 SQLyog,选择文件 > 新连接,输入对应的主机地址、端口、用户名和密码,单击连接。
- 我的SQL主机地址:输入前面获得的内外网地址。
- 用户名:输入创建的账号名。
- 密码:输入账号对应的密码,如忘记密码,可至 控制台 进行修改。
- 端口:输入地址对应的端口。
- 连接成功页面如下图所示,在此页面即可进行数据库内相关操作。
Windows JDBC 驱动连接
TDSQL MySQL版 支持程序驱动连接,本文以 Java 使用 JDBC Driver for MySQL (Connector/J) 连接 TDSQL MySQL版 为例。
- 在 MySQL 官网 下载一个 JDBC 的 jar 包,将其导入 Java 引用的 Library 中。
- 调用 JDBC 代码如下:
public static final String url = "内外网地址";
public static final String name = "com.mysql.jdbc.Driver"; //调用 JDBC 驱动
public static final String user = "用户名";
public static final String password = "密码";
//JDBC
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("url, user, password");
//
conn.close();
- 连接成功后,下一步即可进行其他数据库内操作。
从 Linux 端连接
Linux 命令行连接
以腾讯云服务器中 CentOS 7.2 64 位系统为例,云服务器购买请参见 购买方式。
- 登录 Linux 后,输入命令 yum install mysql,利用 CentOS 自带的包管理软件 Yum 在腾讯云镜像源中下载安装 MySQL 客户端。
- 命令行显示 complete 后,表示 MySQL 客户端安装完成。
- 输入命令 mysql -h内外网地址 -P端口 -u用户名 -p 连接 TDSQL MySQL版,下一步即可进行分表操作。
下图以show databases;为例。
管理分表
以下为连接 TDSQL MySQL版 后一些简单的数据库操作介绍,本文以分表为例。
建表
mysql> create table test1(id int primary key,name varchar(20),addr varchar(20))shardkey=id;
Query OK,0 rows affected(0.15 sec)
插入数据
insert 字段必须包含分表键,否则会拒绝执行。
向刚刚建立的表中插入数据,代码示例如下:
mysql> insert into test1(id,name) VALUES(1,'test');
Query OK,1 rows affected(0.08 sec)
mysql> insert into test3(name,addr) values('example','shenzhen');
ERROR 7013 (HY000): Proxy ERROR:get_shardkeys return error
查询数据
查询数据时,最好带上分表键,分布式路由将自动跳转到对应分片,此时效率最高。否则,分布式系统会自动全表扫描,然后在网关进行结果聚合,效率较低。
查询数据代码示例如下:
mysql> select id from test1 where id=1;
删除数据
delete 必须带有 where 条件,where 条件建议带上分表键。
删除代码示例如下:
mysql> delete from test1 where id=1;
Query OK, 1 row affected (0.02 sec)
TDStore 引擎
创建实例
本文为您介绍如何通过控制台创建 TDSQL MySQL版(TDStore 引擎)实例。
前提条件
已注册腾讯云账号并完成实名认证。
操作步骤
- 登录 TDSQL MySQL版(TDStore 引擎)控制台,在实例列表,单击新建,进入购买页。
- 在购买页,选择相关配置,单击立即购买。
- 计费模式:支持按量计费和包年包月。
- 地域:选择您业务需要部署 TDSQL MySQL版(TDStore 引擎)的地域。建议您选择与云服务器同一个地域,不同地域的云产品内网不通,购买后不能更换。
- 网络:TDSQL MySQL版(TDStore 引擎)所属的网络,建议您选择与云服务器同一个地域下的同一私有网络,否则无法通过内网连接云服务器和数据库。
- 实例类型:分为集群版和基础版两种。
- 集群版:由多个节点构成,以集群整体的形态提供高性能高可用的数据库服务,适用于企业生产环境。
- 基础版:由单个节点构成,以较低的费用提供完整的数据库功能,适用于个人用户。
基础版实例创建后可以通过控制台升级为集群版实例;集群版实例创建后不可以降级为基础版实例。
- 集群架构:分为对等架构和分离架构两种。
- 对等架构:将计算层 SQL Engine 与数据层 TDStore 合并为一个物理节点中,减少硬件节点数量和跨节点通信,从而降低成本并提高性能。
- 分离架构:计算层 SQL Engine 与数据层 TDStore 分别在不同的物理节点中。
- 购买成功后,返回 实例列表,即可进行后续操作。
连接实例
连接方式
连接 TDSQL MySQL版(TDStore 引擎)的方式如下: 内网地址连接:通过内网地址连接云数据库,使用云服务器 CVM 直接连接云数据库的内网地址,这种连接方式使用内网高速网络,延迟低。
对于不同的 VPC 下(包括同账号/不同账号,同地域/不同地域)的云服务器和数据库,内网连接方式请参见 云联网。
准备工作
创建账号
- 登录 TDSQL 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例管理页面。
- 在实例管理页面,选择账号管理页,单击创建账号。
- 在弹出的对话框,输入账号名、密码、备注,确认无误后,单击确认。
- 创建成功的账号,将具有以下权限:
SELECT,UPDATE,INSERT,ALTER,DELETE,CREATE,CREATE VIEW,SHOW DATABASES,INDEX,SHOW VIEW,PROCESS,DROP
创建账号和获取内网地址后,可通过第三方工具和程序驱动进行连接 TDSQL MySQL版(TDStore 引擎)。
- Windows 端,以命令行连接、客户端连接和 JDBC 驱动连接三种方式为例。
- Linux 端,以命令行连接为例。
从 Windows 端连接
Windows 命令行连接
- 打开 Windows 命令行,在 MySQL 的正确路径下输入以下命令。
mysql -h内网地址 -P端口号 -u用户名 -p
Enter password: **********(输入密码)
- 将相关代码正确输入后,显示如下信息,成功连接数据库,下一步即可进行数据库内相关操作。
Welcome to the MySQL monitor. Commands end with ; or \g.
Windows 客户端连接
- 下载一个标准的 SQL 客户端,例如 MySQL Workbench 、SQLyog 等,本文以 SQLyog 为例。
- 打开 SQLyog,选择文件 > 新连接,输入对应的主机地址、端口、用户名和密码,单击连接。
- 我的 SQL 主机地址:输入前面获得的内网地址。
- 用户名:输入创建的账号名。
- 密码:输入账号对应的密码,如忘记密码,可至 控制台 进行修改。
- 端口:输入地址对应的端口。
- 连接成功页面如下图所示,在此页面即可进行数据库内相关操作。
Windows JDBC 驱动连接
TDSQL MySQL版(TDStore 引擎)支持程序驱动连接,本文以 Java 使用 JDBC Driver for MySQL (Connector/J) 连接为例。
- 在 MySQL 官网 下载一个 JDBC 的 jar 包,将其导入 Java 引用的 Library 中。
- 调用 JDBC 代码如下:
public static final String url = "内网地址";
public static final String name = "com.mysql.jdbc.Driver"; //调用 JDBC 驱动
public static final String user = "用户名";
public static final String password = "密码";
//JDBC
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("url, user, password");
//
conn.close();
- 连接成功后,下一步即可进行其他数据库内操作。
从 Linux 端连接
Linux 命令行连接
以腾讯云服务器中 CentOS 7.2 64 位系统为例,云服务器购买请参见 购买方式。
- 登录 Linux 后,输入命令 yum install mysql,利用 CentOS 自带的包管理软件 Yum 在腾讯云镜像源中下载安装 MySQL 客户端。
- 命令行显示 complete 后,表示 MySQL 客户端安装完成。
- 输入命令 mysql -h内网地址 -P端口 -u用户名 -p 连接数据库,下一步即可进行分表操作。
下图以 show databases; 为例。




