SelectDB Cloud
快速开始

快速开始

注册用户和创建组织

用户登录

SelectDB Cloud 支持登录即注册方案,新用户第一次使用邮箱验证码登录即为注册。已注册用户可通过验证码和密码两种方式进行登录。

点击 http://cn.selectdb.cloud (opens in a new tab) 进入 SelectDB Cloud 中国站登录页面。

建立组织

组织是计费单位,同一组织下共享账单。推荐你以 成本结算单位 划分组织,一个用户可以属于多个组织。一个组织下可以创建多个仓库。

用户登录后,如果没有加入过任何组织,会提示用户建立自己的第一个组织。

修改密码

用户登录后,可以点击 用户菜单 > 用户设置 ,修改 SelectDB Cloud 控制台的登录密码。

新用户第一次修改密码成功后,后续即可使用密码方式登录了。

创建仓库和计算集群

在 SelectDB Cloud,仓库是一个逻辑概念,包括仓库元数据、集群、数据存储这些物理对象。每个组织可以创建多个仓库,仓库之间资源和数据相互隔离,以满足不同业务系统的需要。

创建仓库

当前的组织尚无仓库时,会进入一个引导页,你可以参照提示创建第一个仓库。

你可以选择 激活试用仓库 免费试用。每个组织只有 1 次试用机会,试用时长为 1 周。

计算集群

激活试用仓库后,同时会为你建立第一个试用计算集群。

试用仓库仅适用于小规模数据量场景下的功能体验,试用仓库不能创建付费集群,如果已完成试用体验,可以转成付费仓库,转换成功后,方可创建付费集群。

修改仓库 admin 密码

连接仓库时需要用户名和密码,SelectDB Cloud 帮用户初始化了仓库的 admin 用户名及其密码。用户可以在 设置 页修改密码。

图片

注意 密码可使用大写字母、小写字母、数字和特殊字符~!@#$%^&*()_+|&lt&gt,.?/:;'[]",需要至少包含其中 3 种,长度 8-20 个字符。

使用 MySQL Client 连接仓库

IP 白名单管理

在管理控制台上,点击 连接 > 公网连接,打开公网连接管理页面,单击列表右边的 IP白名单管理 ,增加新的 IP 白名单。

在 IP 白名单管理过程中,你可以添加 IP 地址(授予其连接访问 SelectDB Cloud 仓库公网 IP 的权限),删除已有的 IP 地址(取消其连接访问 SelectDB Cloud 仓库公网 IP 的权限)。

使用 MySQL Client 连接

从 MySQL 官方网站下载 MySQL Client【或者下载我们提供的免安装Linux的 MySQL 客户端 (opens in a new tab),Mac 和 Windows 上的 MySQL Client 请从MySQL 官方网站下载】。

当前 SelectDB 主要兼容 MySQL 5.7 及其以上的客户端。

从 SelectDB Cloud 的管理控制台需要连接的仓库下的“连接”中,获得连接相关的信息。

注意:

  1. 仓库支持公网连接和私网(Privatelink)连接,不同的连接方式,连接信息不同

  2. 如果开启了 IP 白名单,需要将客户端的 IP 加入仓库连接的白名单。

  3. SelectDB Cloud 帮用户初始化了仓库的 admin 用户名及其密码。用户可以在管理控制台相应的仓库 设置 页修改密码。

假如我们要连接的仓库公网连接如下:

image-20221109105602508

解压下载的 MySQL 客户端,在 bin/ 目录下可以找到 mysql 命令行工具。 然后执行下面的命令连接 SelectDB。

mysql -h 47.106.188.182 -P 32662 -u admin 

登录后,如果显示如下,一般是由于你的客户端 IP 未加入到管理控制台的连接白名单中。

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 2

显示如下,则代表你连接成功了。

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 119952
Server version: 5.7.37 SelectDB Core version: 2.0.0
 
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> 

创建数据库和数据表

创建一个数据库

create database demo;

创建数据表

use demo;
 
create table mytable
(
    k1 TINYINT,
    k2 DECIMAL(10, 2) DEFAULT "10.05",
    k3 CHAR(10) COMMENT "string column",
    k4 INT NOT NULL DEFAULT "1" COMMENT "int column"
)
COMMENT "my first table"
DISTRIBUTED BY HASH(k1) BUCKETS 1;

可以通过 desc mytable 看到 mytable 的字段情况。

导入数据

将以下示例数据,保存在本地的 data.csv:

1,0.14,a1,20
2,1.04,b2,21
3,3.14,c3,22
4,4.35,d4,23

假如我们要连接的仓库公网连接如下:

image-20221109105602508

使用 HTTP 协议来上传数据:

curl -u admin:admin_123 -H "fileName:dir1/data.csv" -T data.csv -L '47.106.188.182:40029/copy/upload'

这里也可以反复多次调用上传多个文件。

发送 Copy Into 命令导入数据:

curl -u admin:admin_123 -H "Content-Type: application/json" '47.106.188.182:40029/copy/query' -d '{"sql": "copy into demo.mytable from @~(\"dir1/data.csv\") PROPERTIES (\"file.column_separator\"=\",\", \"copy.async\"=\"false\")"}'

其中 dir1/data.csv 是刚才上传的文件,这里可以使用 wildcard 通配符,支持 glob 模式匹配。

服务端会自动识别 csv 等一些通用格式。

通过 file.column_separator=",",指定 csv 格式使用逗号分隔。

"copy.async"="false", 因为 Copy Into 默认为异步提交,这里指定为 false,代表采用同步提交,即等待数据导入成功后才返回。

看到如下响应,即表示成功。

{"msg":"success","code":0,"data":{"result":{"msg":"","loadedRows":"4","id":"d33e62f655c4a1a-9827d5561adfb93d","state":"FINISHED","type":"","filterRows":"0","unselectRows":"0","url":null},"time":5007,"type":"result_set"},"count":0}%  

查询数据

上面完成了建表和数据导入,下面就可以对其进行查询了。

mysql> use demo;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
mysql> select * from mytable;
+------+------+------+------+
| k1   | k2   | k3   | k4   |
+------+------+------+------+
|    1 | 0.14 | a1   |   20 |
|    2 | 1.04 | b2   |   21 |
|    3 | 3.14 | c3   |   22 |
|    4 | 4.35 | d4   |   23 |
+------+------+------+------+
4 rows in set (0.15 sec)
© 2023 北京飞轮数据科技有限公司 京ICP备2022004029号 | Apache、Apache Doris 以及相关开源项目名称均为 Apache 基金会商标