暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

腾讯云数据库TDSQL MySQL版 快速入门

原创 腾讯云数据库 2024-03-29
892

版本日期:2024.03(最新版本以腾讯云官网产品文档为准,本链接为2024年3月版)

版权声明

本文档著作权归腾讯云计算(北京)有限责任公司(以下简称“腾讯云”)单独所有,未经腾讯云事先书面许可,任何主体不得以任何方式或理由使用本文档,包括但不限于复制、修改、传播、公开、剽窃全部或部分本文档内容。

本文档及其所含内容均属腾讯云内部资料,并且仅供腾讯云指定的主体查看。如果您非经腾讯云授权而获得本文档的全部或部分内容,敬请予以删除,切勿以复制、披露、传播等任何方式使用本文档或其任何内容,亦请切勿依本文档或其任何内容而采取任何行动。

免责声明

本文档旨在向客户介绍本文档撰写时,腾讯云相关产品、服务的当时的整体概况,部分产品或服务在后续可能因技术调整或项目设计等任何原因,导致其服务内容、标准等有所调整。因此,本文档仅供参考,腾讯云不对其准确性、适用性或完整性等做任何保证。您所购买、使用的腾讯云产品、服务的种类、内容、服务标准等,应以您和腾讯云之间签署的合同约定为准,除非双方另有约定,否则,腾讯云对本文档内容不做任何明示或默示的承诺或保证。

InnoDB 引擎

创建实例

本文为您介绍如何通过 TDSQL MySQL版 控制台创建实例。

前提条件

已注册腾讯云账号并完成实名认证。

操作步骤

  1. 登录 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),该参数为初始化参数,数据库初始化完成后无法修改。
  • 开启强同步:支持强同步(可退化)、异步,详细介绍请参见 强同步
  • 计费详情请参见 计费概述
  1. 支付完成后,返回实例列表,待实例状态变为运行中,即可进行后续操作。

后续操作

通过内外网地址连接 TDSQL MySQL版 实例,请参见 连接实例

连接实例

连接方式

连接 TDSQL MySQL版 的方式如下:

  • 内网地址连接:通过内网地址连接 TDSQL MySQL版,使用云服务器 CVM 直接连接云数据库的内网地址,这种连接方式使用内网高速网络,延迟低。
  • 云服务器和数据库须是同一账号,且同一个 VPC 内(保障同一个地域),或同在基础网络内。
  • 内网地址系统默认提供,可在 TDSQL MySQL版 控制台 的实例列表或实例详情页查看。

对于不同的 VPC 下(包括同账号/不同账号,同地域/不同地域)的云服务器和数据库,内网连接方式请参见 云联网

  • 外网地址连接:无法通过内网连接时,可通过外网地址连接 TDSQL MySQL版。外网地址需 手动开启,可在 TDSQL MySQL版 控制台 的实例详情页查看,不需要时也可关闭。
  • 开启外网地址,会使您的数据库服务暴露在公网上,可能导致数据库被入侵或攻击。建议您使用内网连接数据库。
  • 云数据库外网连接适用于开发或辅助管理数据库,不建议正式业务连接使用,因为可能存在不可控因素会导致外网连接不可用(例如 DDOS 攻击、突发大流量访问等)。
  • 目前支持开启外网访问的地域为:广州、上海、北京、成都、南京、香港、重庆、新加坡、美国硅谷、首尔、日本、法兰克福、弗吉尼亚。
  • 开启外网访问必须绑定安全组,请参见 配置云数据库安全组

准备工作

创建账号

  1. 登录 TDSQL MySQL版 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例管理页面。
  2. 在实例管理页面,选择账号管理页,单击创建账号
  3. 在弹出的对话框,输入账号名、主机、密码等,确认无误后,单击确认,下一步。 主机名实际是网络出口地址,支持%的匹配方式,代表所有 IP 均可访问。
  4. 进入修改权限对话框,根据需求分配权限后,单击确定修改即可完成权限分配。若需稍后设置权限,单击取消修改即可。 左边导航栏提供完全兼容 MySQL 管理方式的图形化界面,权限管理可以细化到列级。
  5. 返回账号列表,单击修改权限可以修改用户权限,单击克隆账号可以完全复制当前账号权限来新建一个账号,单击更多可以重置密码和删除账号。

(可选)开启外网地址

  1. 登录 TDSQL MySQL版 控制台,在实例列表,单击实例 ID,进入实例详情页,在基本信息的外网地址处,单击开启
  2. 开启后,在外网地址处获取外网地址和端口号。TDSQL MySQL版 提供了唯一的 IP、端口供用户访问和使用。

创建账号和获取内外网地址后,可通过第三方工具和程序驱动进行连接 TDSQL MySQL版。

  • Windows 端,以命令行连接、客户端连接和 JDBC 驱动连接三种方式为例。
  • Linux 端,以命令行连接为例。

从 Windows 端连接

Windows 命令行连接

  1. 打开 Windows 命令行,在 MySQL 的正确路径下输入以下命令。

mysql -h内外网地址 -P端口号 -u用户名 -p

Enter password: **********(输入密码)

  1. 将相关代码正确输入后,显示如下信息,成功连接数据库,下一步即可进行数据库内相关操作。

Welcome to the MySQL monitor. Commands end with ; or \g.

Windows 客户端连接

  1. 下载一个标准的 SQL 客户端,例如 MySQL Workbench 、SQLyog 等,本文以 SQLyog 为例。
  2. 打开 SQLyog,选择文件 > 新连接,输入对应的主机地址、端口、用户名和密码,单击连接
  • 我的SQL主机地址:输入前面获得的内外网地址。
  • 用户名:输入创建的账号名。
  • 密码:输入账号对应的密码,如忘记密码,可至 控制台 进行修改。
  • 端口:输入地址对应的端口。
  1. 连接成功页面如下图所示,在此页面即可进行数据库内相关操作。

Windows JDBC 驱动连接

TDSQL MySQL版 支持程序驱动连接,本文以 Java 使用 JDBC Driver for MySQL (Connector/J) 连接 TDSQL MySQL版 为例。

  1. MySQL 官网 下载一个 JDBC 的 jar 包,将其导入 Java 引用的 Library 中。
  2. 调用 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();

  1. 连接成功后,下一步即可进行其他数据库内操作。

从 Linux 端连接

Linux 命令行连接

以腾讯云服务器中 CentOS 7.2 64 位系统为例,云服务器购买请参见 购买方式

  1. 登录 Linux 后,输入命令 yum install mysql,利用 CentOS 自带的包管理软件 Yum 在腾讯云镜像源中下载安装 MySQL 客户端。
  2. 命令行显示 complete 后,表示 MySQL 客户端安装完成。
  3. 输入命令 mysql -h内外网地址 -P端口 -u用户名 -p 连接 TDSQL MySQL版,下一步即可进行分表操作。 下图以show databases;为例。

管理分表

以下为连接 TDSQL MySQL版 后一些简单的数据库操作介绍,本文以分表为例。

建表

  • 分表、单表、广播表的区别详情请参考 相关表详情文档
  • 分表键(shardkey)选择的限制请参考 分表键详情文档
  • 建分表时,需指明分表键(shardkey),代码示例如下:

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 引擎)实例。

前提条件

已注册腾讯云账号并完成实名认证。

操作步骤

  1. 登录 TDSQL MySQL版(TDStore 引擎)控制台,在实例列表,单击新建,进入购买页。
  2. 在购买页,选择相关配置,单击立即购买
  • 计费模式:支持按量计费和包年包月。
  • 地域:选择您业务需要部署 TDSQL MySQL版(TDStore 引擎)的地域。建议您选择与云服务器同一个地域,不同地域的云产品内网不通,购买后不能更换。
  • 网络:TDSQL MySQL版(TDStore 引擎)所属的网络,建议您选择与云服务器同一个地域下的同一私有网络,否则无法通过内网连接云服务器和数据库。
  • 实例类型:分为集群版和基础版两种。
    • 集群版:由多个节点构成,以集群整体的形态提供高性能高可用的数据库服务,适用于企业生产环境。
    • 基础版:由单个节点构成,以较低的费用提供完整的数据库功能,适用于个人用户。

基础版实例创建后可以通过控制台升级为集群版实例;集群版实例创建后不可以降级为基础版实例。

  • 集群架构:分为对等架构和分离架构两种。
    • 对等架构:将计算层 SQL Engine 与数据层 TDStore 合并为一个物理节点中,减少硬件节点数量和跨节点通信,从而降低成本并提高性能。
    • 分离架构:计算层 SQL Engine 与数据层 TDStore 分别在不同的物理节点中。
  1. 购买成功后,返回 实例列表,即可进行后续操作。

连接实例

连接方式

连接 TDSQL MySQL版(TDStore 引擎)的方式如下: 内网地址连接:通过内网地址连接云数据库,使用云服务器 CVM 直接连接云数据库的内网地址,这种连接方式使用内网高速网络,延迟低。

  • 云服务器和数据库须是同一账号,且同一个 VPC 内(保障同一个地域)。
  • 内网地址系统默认提供,可在 TDSQL 控制台 的实例列表查看。

对于不同的 VPC 下(包括同账号/不同账号,同地域/不同地域)的云服务器和数据库,内网连接方式请参见 云联网

准备工作

创建账号

  1. 登录 TDSQL 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例管理页面。
  2. 在实例管理页面,选择账号管理页,单击创建账号
  3. 在弹出的对话框,输入账号名、密码、备注,确认无误后,单击确认
  4. 创建成功的账号,将具有以下权限:

SELECT,UPDATE,INSERT,ALTER,DELETE,CREATE,CREATE VIEW,SHOW DATABASES,INDEX,SHOW VIEW,PROCESS,DROP

创建账号和获取内网地址后,可通过第三方工具和程序驱动进行连接 TDSQL MySQL版(TDStore 引擎)。

    • Windows 端,以命令行连接、客户端连接和 JDBC 驱动连接三种方式为例。
    • Linux 端,以命令行连接为例。

从 Windows 端连接

Windows 命令行连接

  1. 打开 Windows 命令行,在 MySQL 的正确路径下输入以下命令。

mysql -h内网地址 -P端口号 -u用户名 -p

Enter password: **********(输入密码)

  1. 将相关代码正确输入后,显示如下信息,成功连接数据库,下一步即可进行数据库内相关操作。

Welcome to the MySQL monitor. Commands end with ; or \g.

Windows 客户端连接

  1. 下载一个标准的 SQL 客户端,例如 MySQL Workbench 、SQLyog 等,本文以 SQLyog 为例。
  2. 打开 SQLyog,选择文件 > 新连接,输入对应的主机地址、端口、用户名和密码,单击连接
  • 我的 SQL 主机地址:输入前面获得的内网地址。
  • 用户名:输入创建的账号名。
  • 密码:输入账号对应的密码,如忘记密码,可至 控制台 进行修改。
  • 端口:输入地址对应的端口。
  1. 连接成功页面如下图所示,在此页面即可进行数据库内相关操作。

Windows JDBC 驱动连接

TDSQL MySQL版(TDStore 引擎)支持程序驱动连接,本文以 Java 使用 JDBC Driver for MySQL (Connector/J) 连接为例。

  1. MySQL 官网 下载一个 JDBC 的 jar 包,将其导入 Java 引用的 Library 中。
  2. 调用 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();

  1. 连接成功后,下一步即可进行其他数据库内操作。

从 Linux 端连接

Linux 命令行连接

以腾讯云服务器中 CentOS 7.2 64 位系统为例,云服务器购买请参见 购买方式

  1. 登录 Linux 后,输入命令 yum install mysql,利用 CentOS 自带的包管理软件 Yum 在腾讯云镜像源中下载安装 MySQL 客户端。
  2. 命令行显示 complete 后,表示 MySQL 客户端安装完成。
  3. 输入命令 mysql -h内网地址 -P端口 -u用户名 -p 连接数据库,下一步即可进行分表操作。 下图以 show databases; 为例。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论