Lindorm-cli是Lindorm提供的简易命令行工具,用于连接和管理Lindorm数据库。您可以通过Lindorm-cli完成基本的SQL操作,例如建表、数据查询、数据写入和导出等。本文介绍通过Lindorm-cli连接并使用云原生多模数据库 Lindorm宽表引擎的方法。
前提条件
已将客户端IP地址添加至Lindorm白名单,具体操作请参见设置白名单。
网络类型说明
连接宽表引擎可使用的网络类型如下:
网络类型 | 说明 |
专有网络(推荐) | 专有网络VPC(Virtual Private Cloud)是您自己的云上私有网络,不同的专有网络之间二层逻辑隔离,具有较高的安全性。Lindorm-cli部署在ECS实例上时,通过专有网络连接至Lindorm宽表,可获得更高的安全性和更低的网络延迟。 |
公网 | 公网即互联网,当本地设备需要测试或管理Lindorm宽表时,可在本地设备上部署Lindorm-cli,然后通过公网连接至Lindorm宽表。 说明
|
通过MySQL协议连接(推荐)
步骤一:安装Lindorm-cli
根据您的操作系统,下载对应的Lindorm-cli安装包。下载链接如下表所示。
操作系统
下载链接
Linux
您也可以通过命令直接下载:
wget https://tsdbtools.oss-cn-hangzhou.aliyuncs.com/lindorm-cli-linux-latest.tar.gz
。Linux-arm64
您也可以通过命令直接下载:
wget https://tsdbtools.oss-cn-hangzhou.aliyuncs.com/lindorm-cli-linux-arm64-latest.tar.gz
。Mac(Intel芯片)
Mac(Arm芯片)
Windows
解压Lindorm-cli压缩包。
以Linux操作系统为例,执行以下命令解压。解压后可得到
lindorm-cli
文件。tar zxvf lindorm-cli-linux-latest.tar.gz
步骤二:连接宽表引擎
仅2.0.0以上版本的lindorm-cli支持通过MySQL协议连接宽表引擎。
客户端部署在Linux或Mac系统
跳转至
Lindorm-cli
所在目录。cd <Lindorm-cli所在目录>
执行以下语句连接宽表引擎。
./lindorm-cli -url <mysql url> -username <用户名> -password <密码>
参数说明
参数
说明
mysql url
用户名
连接Lindorm宽表引擎的用户名。
密码
连接Lindorm宽表引擎的密码。
重要如果忘记密码,可以通过Lindorm宽表引擎的集群管理系统修改用户密码。
修改密码后,请通过控制台重启引擎。
连接配置说明
支持的连接配置
说明
mysql://
协议头支持在mysql url前添加
mysql://
协议头。例如:
mysql://ld-8vbn68478unu8****-proxy-sql-lindorm.lindorm.rds.aliyuncs.com:33060
。服务端自定义连接参数
您可以在mysql url后设置服务端自定义连接参数,格式为
key1=value1&key2=value2
。目前支持的参数如下:
operationTimeout:表示查询超时时间。格式为
<mysql url>?operationTimeout=<超时时间>
,其中超时时间单位为毫秒(ms)。例如:ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060?operationTimeout=120000
。连接示例
./lindorm-cli -url ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060 -username user -password test --添加mysql://协议头连接 ./lindorm-cli -url mysql://ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060 -username user -password test --指定查询超时时间 ./lindorm-cli -url mysql://ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060?operationTimeout=120000 -username user -password test
连接成功将返回以下结果:
lindorm-cli version: 2.0.x
其中,
2.0.x
为Lindorm-cli的版本号。
客户端部署在Windows系统
方法一
打开命令提示符(CMD),跳转至
lindorm-cli.exe
的所在目录下。cd <lindorm-cli.exe所在目录>
在CMD上执行以下语句连接宽表引擎。
lindorm-cli -url <mysql url> -username <用户名> -password <密码>
参数说明
参数
示例值
获取方法
mysql url
ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060
用户名
user
连接Lindorm宽表引擎的用户名。
密码
test
连接Lindorm宽表引擎的密码。
重要如果忘记密码,可以通过Lindorm宽表引擎的集群管理系统修改用户密码。
修改密码后,请通过控制台重启引擎。
连接配置说明
支持的连接配置
说明
mysql://
协议头支持在mysql url前添加
mysql://
协议头。例如:
mysql://ld-8vbn68478unu8****-proxy-sql-lindorm.lindorm.rds.aliyuncs.com:33060
。服务端自定义连接参数
您可以在mysql url后设置服务端自定义连接参数,格式为
key1=value1&key2=value2
。目前支持的参数如下:
operationTimeout:表示查询超时时间。格式为
<mysql url>?operationTimeout=<超时时间>
,其中超时时间单位为毫秒(ms)。例如:ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060?operationTimeout=120000
。连接示例
lindorm-cli -url ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060 -username user -password test --添加mysql://协议头连接 lindorm-cli -url mysql://ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060 -username user -password test --指定查询超时时间 lindorm-cli -url mysql://ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060?operationTimeout=120000 -username user -password test
连接成功将返回如下结果:
Connected to ld-bp187uwcx5f40****-proxy-sql-lindorm-public.lindorm.rds.aliyuncs.com:33060 lindorm-cli version: 2.0.x
其中,
2.0.x
为Lindorm-cli的版本号。
方法二
双击打开Lindorm-cli.exe程序,执行以下语句:
connect <mysql url> <用户名> <密码>
连接示例
connect ld-bp13y790c91f4****-proxy-lindorm-pub.lindorm.aliyuncs.com:33060 user test
连接成功无结果返回。
步骤三:使用宽表引擎
创建数据库
执行以下语句创建名为
test
的数据库。CREATE DATABASE test;
执行以下语句使用
test
数据库。USE test;
建表
在test
数据库中创建名为tb
的数据表。
CREATE TABLE tb (id VARCHAR, name VARCHAR, address VARCHAR, PRIMARY KEY(id, name)) ;
数据写入
UPSERT INTO tb (id, name, address) VALUES ('001', 'jack', 'hz');
数据查询
数据有多种输出格式,包括表格输出、CSV格式输出以及每一行中的列竖直输出。您可以通过format
命令自定义数据的输出格式,修改数据的输出格式后,通过SELECT
语句查询的数据将按指定格式输出。如果未指定输出格式,默认以表格形式输出结果。
format
命令仅支持在Lindorm-cli工具中使用。
表格输出(默认)
查询语句如下:
format table;
SELECT * FROM tb;
执行效果等效于以下语句:
SELECT * FROM tb;
数据输出效果如下:
+-----+-------+---------+
| id | name | address |
+-----+-------+---------+
| 001 | jack | hz |
+-----+-------+---------+
CSV格式输出
format csv;
SELECT * FROM tb;
数据输出效果如下:
id,name,address
001,jack,hz
每一行中的列竖直输出
format vertical;
SELECT * FROM tb;
数据输出效果如下:
********************* 1. row *********************
id: 001
name: jack
address: hz
通过Avatica协议连接
步骤一:安装Lindorm-cli
步骤二:连接宽表引擎
步骤三:使用宽表引擎
Lindorm-cli常用命令
!help:查看帮助命令。
!connect:连接服务器命令。
exit、quit和ctrl+d:退出当前连接。
常见问题
为什么会连接超时或失败?
连接超时或失败时会报错Failed to connect to <宽表连接地址> connection check failed
或connection timeout
。
可能存在的原因具体如下,请您依次排查:
原因 | 解决方案 |
使用公网连接,但未将公网IP地址添加至白名单中。 | 将客户端公网IP地址添加至Lindorm白名单。 查询客户端公网IP地址的方式有以下两种:
|
已将公网地址添加至白名单,仍旧连接超时。 | 可能存在网络环境不稳定等因素,建议您更换为专有网络连接。 |
使用ECS访问,未将ECS的IP地址添加至Lindorm白名单。 | |
未使用正确的连接地址。 | Lindorm连接地址区分专有网络地址和公网地址,请根据网络环境使用正确的连接地址。 |
如果以上方案仍无法解决您的问题,请联系Lindorm技术支持(钉钉号:s0s3eg3)。
相关文档
关于Lindorm宽表SQL的语法使用说明:SQL参考。
其他连接方式:通过MySQL命令行连接并使用宽表引擎、使用MySQL协议(推荐)。