通过命令行界面 (CLI) 进行连接
直接从命令行界面 (CLI) 访问 Redis 数据库。 CLI 允许对数据库中创建的数据结构进行直接交互和监视。 它还可用于管理和监视密钥空间和性能,安装和修改脚本以及其他管理活动。
需要针对 Redis 6中引入的用户管理功能更新 redli
客户机。 如果尝试在不更新客户机的情况下连接到客户机,那么会看到类似如下的错误: (error) WRONGPASS invalid username-password pair
。
连接字符串
连接字符串显示在部署的 "_概述_页面的 "_终点_面板中,也可以从 "Cloud DatabasesCLI插件 和 "Cloud Databases应用程序接口"页面中获取。
客户端连接到部署所需的信息位于服务凭证页面上创建的凭证的 "CLI "部分。 该表包含供参考的细目。
字段名称 | 索引 | 描述 |
---|---|---|
Bin |
用于创建连接的建议二进制文件; 在此情况下为 redli 。 |
|
Composed |
用于与部署建立连接的格式化命令。 该命令组合了 Bin 可执行文件 Environment 变量设置,并使用 Arguments 作为命令行参数。 |
|
Environment |
设置为环境变量的键/值的列表。 | |
Arguments |
0... | 作为参数传递给 "Bin" 字段中显示的命令的信息。 |
Certificate |
Base64 | 服务专有证书,用于确认应用程序正在连接到相应的服务器。 base64 编码。 |
Certificate |
名称 | 服务专有证书的分配名称。 |
Type |
使用此连接信息的包的类型; 在本例中为 cli 。 |
|
{: caption=redis``cli 连接信息" caption-side="top"} |
0...
指示数组中可能有一个或多个这些条目。
安装 redli
redli
是开放式源代码 Redis 命令行客户机。 它是独立的,模仿redis 命令行参数,并增加了对 TLS/SSLRedis连接的支持。 它识别 URI 中的 rediss:
协议,并支持对非 URI 连接使用 --tls
标志。 它可以连接到 TLS/SSL 安全的Redis,而无需使用隧道。 从 "发行版" 页面下载并安装该产品。
使用 redli
进行连接
ibmcloud cdb deployment-connections
命令处理创建客户机连接时涉及的所有内容。 例如,要连接到名为"NewRedis",部署,请使用以下命令。
ibmcloud cdb deployment-connections NewRedis --start
或
ibmcloud cdb cxn NewRedis -s
该命令将提示输入 admin
密码,然后运行 redli
命令行客户机以连接到数据库。
如果尚未安装云数据库插件,请使用 redli
命令连接到 Redis 数据库。 从部署中下载并保存服务专有证书。 然后,通过向 redli
提供“组成”连接字符串和服务专有证书的路径,使用。
redli --uri rediss://admin:$PASSWORD@e6b2c3f8-54a6-439e-8d8a-aa6c4a78df49.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud:32371/0 --certfile /path/to/redis-cert.pem
redli
支持其他连接选项和参数。 有关更多信息,请参阅 redli
GitHub 存储库中的文档。
安装 redis-cli
redis-cli
是 Redis支持的官方命令行界面。 不幸的是,它不支持 TLS 连接。
如果选择使用 redis-cli
,那么有一些额外的配置步骤。 它是 Redis 软件包的一部分,因此需要在本地安装 Redis 才能使用。 在macOS,上,安装 brew,然后使用 brew install redis
启动并运行。 在 Linux上,请参阅分发软件包管理器以获取最新的 Redis 软件包,或者,如果您有此倾向,请
下载源代码 并自行构建。
使用 redis-cli
进行连接
redis-cli
不支持支持 TLS 的连接。 如果要将 redis-cli
与加密连接配合使用,请设置 stunnel
之类的实用程序,该实用程序将 redis-cli
连接包装为 TLS 加密。
设置 stunnel
-
安装
stunnel
。 请使用软件包管理器 Linux、Mac 的 Homebrew 或 下载适合您平台的软件包。 -
抓取连接信息。 要设置连接,
stunnel
需要 Redis 部署的主机,端口和证书。 主机和端口都可从 CLI“组合”连接字符串获取。 They can also be found parsed out in the 连接字符串细分 that is provided for connecting external applications and drivers.证书位于服务证书连接信息的Base64字段中。 复制,解码证书并将其保存到文件。
-
将配置信息添加到
stunnel.conf
文件。 配置包含以下信息。- 服务的名称。(
[redis-cli]
) - 表示此问题是 TLS 客户机的设置。(
client=yes
) - 要在 (
accept=127.0.0.1:6830
) 上接受连接并进行连接的 IP 地址和端口。 - 要连接到的主机名和端口。(
connect=
portal972-7.bmix-lon-yp-38898e17-ff6f-4340-9da8-2ba24c41e6d8.composeci-us-ibm-com.composedb.com:24370`) - 证书的路径。
[redis-cli] client=yes accept=127.0.0.1:6830 connect=sl-us-south-1-portal.7.dblayer.com:23870 verify=2 checkHost=sl-us-south-1-portal.7.dblayer.com CAfile=/path/to/redis/cert.crt
- 服务的名称。(
-
运行
stunnel
。在命令行中键入
stunnel
命令。 它立即在后台运行。 -
在新的终端窗口中,运行
redis-cli
,指向本地主机和端口,并使用部署凭据进行身份验证。redis-cli -p 6830 -a <PASSWORD>
使用服务专有证书
- 从_端点_面板或服务证书连接信息的Base64字段复制证书信息。
- 如果需要,将Base64字符串解码为文本。
- 将证书保存到文件中。 (您可以使用提供的名称或自己的文件名)。
- 向驱动程序或客户端提供证书路径。
CLI 插件支持服务专有证书
您可以通过 CLI 插件使用类似命令来显示部署的解码证书:
ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>
该命令将Base64解码为文本。 将命令输出复制并保存到文件中,并将文件路径提供给客户端。