IBM Cloud Docs
透過指令行介面 (CLI) 連接

透過指令行介面 (CLI) 連接

直接從指令行介面 (CLI) 存取 Redis 資料庫。 CLI 容許直接互動及監視在資料庫內建立的資料結構。 它也有助於管理及監視金鑰空間和效能、安裝及修改 Script,以及其他管理活動。

redli 用戶端需要針對 Redis 6中引進的使用者管理特性進行更新。 如果您嘗試連接而不更新用戶端,則會看到類似如下的錯誤: (error) WRONGPASS invalid username-password pair

連線字串

連線字串顯示在部署_概述_頁面的_端點_面板中,也可以從 Cloud Databases CLI 外掛程式Cloud Databases API

用戶端連接到您的部署所需的資訊位於服務憑證頁面上建立的憑證的「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-cli 命令列參數,並添加了對 TLS/SSL Redis連接的支援。 它可辨識 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 之類的公用程式,以 TLS 加密來包裝 redis-cli 連線。

設定 stunnel

  1. 安裝 stunnel。 使用您的套件管理程式 Linux、Homebrew for Mac,或為您的平台 下載適當的套件。

  2. 抓取連線資訊。 若要設定連線, stunnel 需要 Redis 部署的主機、埠及憑證。 主機和埠都可以從 CLI "composed" 連線字串取得。 它們還可以在用於連接外部應用程式和驅動程式的 連接字串細分 中找到解析。

    此證書位於服務憑證連接資訊的Base64欄位中。 將憑證複製、解碼並儲存至檔案。

  3. 將您的設定資訊加入 stunnel.conf 檔案。 配置包括下列資訊。

    • 服務的名稱。([redis-cli])
    • 指出此 stunnel 的設定是 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解碼為文字。 將命令的輸出複製並儲存到檔案中,並將檔案的路徑提供給客戶端。