IBM Cloud Docs
通过命令行界面 (CLI) 进行连接

通过命令行界面 (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

  1. 安装 stunnel。 请使用软件包管理器 Linux、Mac 的 Homebrew 或 下载适合您平台的软件包。

  2. 抓取连接信息。 要设置连接, stunnel 需要 Redis 部署的主机,端口和证书。 主机和端口都可从 CLI“组合”连接字符串获取。 They can also be found parsed out in the 连接字符串细分 that is provided for connecting external applications and drivers.

    证书位于服务证书连接信息的Base64字段中。 复制,解码证书并将其保存到文件。

  3. 将配置信息添加到 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
    
  4. 运行 stunnel

    在命令行中键入 stunnel 命令。 它立即在后台运行。

  5. 在新的终端窗口中,运行 redis-cli,指向本地主机和端口,并使用部署凭据进行身份验证。

    redis-cli -p 6830 -a <PASSWORD>
    

使用服务专有证书

  1. 从_端点_面板或服务证书连接信息的Base64字段复制证书信息。
  2. 如果需要,将Base64字符串解码为文本。
  3. 将证书保存到文件中。 (您可以使用提供的名称或自己的文件名)。
  4. 向驱动程序或客户端提供证书路径。

CLI 插件支持服务专有证书

您可以通过 CLI 插件使用类似命令来显示部署的解码证书:

ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>

该命令将Base64解码为文本。 将命令输出复制并保存到文件中,并将文件路径提供给客户端。