Lindorm-cli は、Lindorm が提供する、Lindorm データベースへの接続と管理を行うためのシンプルなコマンドラインインターフェイス (CLI) です。Lindorm-cli を使用して、テーブルの作成、データのクエリ、データの書き込み、データのエクスポートなど、基本的な SQL 操作を実行できます。このトピックでは、Lindorm-cli を使用して Lindorm LindormTable に接続し、利用する方法について説明します。
前提条件
Lindorm-cli を実行する環境をクライアント環境と呼びます。Lindorm-cli を使用して LindormTable にアクセスする前に、以下を確認してください。
クライアントの IP アドレスが Lindorm のホワイトリストに追加されていること。詳細については、「ホワイトリストの設定」をご参照ください。
クライアント環境と Lindorm 間の接続のネットワークタイプ。
LindormTable への接続には、以下のネットワークタイプを使用できます。
ネットワークタイプ
説明
仮想プライベートクラウド (VPC) (推奨)
仮想プライベートクラウド (VPC) は、クラウド上のプライベートネットワークです。異なる VPC 間はレイヤー 2 で論理的に隔離されており、高いセキュリティを確保します。lindorm-cli を ECS インスタンスにデプロイした場合、VPC 経由で LindormTable に接続することで、より高いセキュリティと低いネットワーク遅延を実現できます。
パブリックネットワーク
パブリックネットワークはインターネットのことです。オンプレミスのデバイスから LindormTable をテストまたは管理するには、デバイスに lindorm-cli をデプロイし、パブリックネットワーク経由で LindormTable に接続します。
説明パブリックネットワーク経由の接続はトラフィック料金は発生しませんが、セキュリティリスクがあります。より高いセキュリティを確保するため、VPC 経由での接続を推奨します。
コンソールでパブリックエンドポイントを有効にする必要があります。詳細については、「操作手順」をご参照ください。
インストール方法
ご利用のオペレーティングシステム用の Lindorm-cli インストールパッケージをダウンロードします。ダウンロードリンクは以下の表に記載されています。
説明以下の表にある SHA256 チェックサムを使用して、ダウンロードした Lindorm-cli インストールパッケージの完全性と信頼性を検証できます。
オペレーティングシステム
ダウンロードリンク
SHA256 チェックサム
Linux
直接ダウンロードコマンド:
wget https://tsdbtools.oss-cn-hangzhou.aliyuncs.com/lindorm-cli-linux-latest.tar.gz0f4ccaf214b41fdf8d3dd5f0ed4f92f1d5e6b0a11da3d217c9df6d382f0080df
Linux (arm64)
直接ダウンロードコマンド:
wget https://tsdbtools.oss-cn-hangzhou.aliyuncs.com/lindorm-cli-linux-arm64-latest.tar.gz1bfb992853a26c703b2d9e2bd50e4d7e31f88992bcb7e70ac30331f5998c269e
Mac (Intel チップ)
af8a78bfe8ef53d1df25df99b5803ef3f55da7e943d730a1a6d44cd918f28842
Mac (Arm チップ)
5bdc8600055432a9275a0d52e5d26e6c2cfc7a553961c09681d0388a5a5e9a62
Windows
7721748744edc551d43fec6bb19ab40eb514bb6043a3d21afa38f353833259ce
Lindorm-cli パッケージを解凍します。
ご利用のオペレーティングシステムの標準的な方法で、ダウンロードしたパッケージを解凍します。
例えば、Linux オペレーティングシステムでは、以下のコマンドを実行してパッケージを解凍できます。解凍が完了すると、
lindorm-cliという名前の実行可能ファイルが生成されます。このファイルは、追加のインストールなしでシェルターミナルで直接実行できます。tar zxvf lindorm-cli-linux-latest.tar.gz
接続方法
Lindorm-cli は、MySQL プロトコルまたは Avatica プロトコルを使用した LindormTable への接続をサポートしています。MySQL プロトコルの使用を推奨します。
MySQL プロトコルを使用した LindormTable への接続は、Lindorm-cli 2.0.0 以降でのみサポートされています。
MySQL プロトコルを使用した LindormTable への接続 (推奨)
Linux または macOS にデプロイされたクライアント
Lindorm-cliがあるフォルダーに移動します。cd <folder_of_Lindorm-cli>以下の文を実行して LindormTable に接続します。
./lindorm-cli -url <mysql url> -username <username> -password <password>パラメーターの説明
パラメーター
説明
mysql url
LindormTable の MySQL 互換エンドポイント。接続設定の詳細については、「接続設定」をご参照ください。
username
LindormTable に接続するためのユーザー名。
password
LindormTable に接続するためのパスワード。
重要パスワードを忘れた場合は、LindormTable クラスター管理システムでユーザーパスワードを変更してください。
パスワードを変更した後、コンソールでエンジンを再起動してください。
接続設定
サポートされている接続設定
説明
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=<timeout_period>です。タイムアウト期間はミリ秒 (ms) 単位です。例:ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060?operationTimeout=120000重要operationTimeout パラメーターは、LindormTable エンジンバージョン 2.7.7 以降でのみサポートされています。現在のバージョンを表示またはアップグレードするには、「LindormTable バージョンガイド」および「マイナーバージョンアップデートの実行」をご参照ください。
接続例
./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 にデプロイされたクライアント
方法 1
コマンドプロンプト (CMD) を開き、
lindorm-cli.exeがあるフォルダーに移動します。cd <folder_of_lindorm-cli.exe>CMD で、以下の文を実行して LindormTable に接続します。
lindorm-cli -url <mysql url> -username <username> -password <password>パラメーターの説明
パラメーター
値の例
取得方法
mysql url
ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060
LindormTable の MySQL 互換エンドポイント。接続設定の詳細については、「接続設定」をご参照ください。
username
user
LindormTable に接続するためのユーザー名。
password
test
LindormTable に接続するためのパスワード。
重要パスワードを忘れた場合は、LindormTable クラスター管理システムでユーザーパスワードを変更してください。
パスワードを変更した後、コンソールでエンジンを再起動してください。
接続設定
サポートされている接続設定
説明
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=<timeout_period>です。タイムアウト期間はミリ秒 (ms) 単位です。例:ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060?operationTimeout=120000重要operationTimeout パラメーターは、LindormTable エンジンバージョン 2.7.7 以降でのみサポートされています。現在のバージョンを表示またはアップグレードするには、「LindormTable バージョンガイド」および「マイナーバージョンアップデートの実行」をご参照ください。
接続例
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 のバージョン番号です。
方法 2
`Lindorm-cli.exe` ファイルをダブルクリックし、以下のコマンドを実行します:
connect <mysql url> <username> <password>接続例
connect ld-bp13y790c91f4****-proxy-lindorm-pub.lindorm.aliyuncs.com:33060 user test接続が成功してもメッセージは返されません。
Avatica プロトコルを使用した LindormTable への接続
Linux または macOS にデプロイされたクライアント
Lindorm-cliが含まれるディレクトリに移動します。cd <directory_of_Lindorm-cli>以下の文を実行してワイドテーブルエンジンに接続します。
./lindorm-cli -url <url> -username <username> -password <password>パラメーターの説明
パラメーター
値の例
取得方法
jdbc url
jdbc:lindorm:table:url=http://ld-bp17j28j2y7pm****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30060
LindormTable の LindormTable SQL エンドポイント。
ユーザー名
user
LindormTable に接続するためのユーザー名。
パスワード
test
LindormTable に接続するためのパスワード。
重要パスワードを忘れた場合は、LindormTable クラスター管理システムでユーザーパスワードを変更してください。
パスワードを変更した後、コンソールでエンジンを再起動してください。
接続例
./lindorm-cli -url jdbc:lindorm:table:url=http://ld-bp17j28j2y7pm****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30060 -username user -password test接続が成功した場合、以下の結果が返されます:
lindorm-cli version: 2.0.xx結果の
2.0.xxは Lindorm-cli のバージョン番号です。
Windows にデプロイされたクライアント
方法 1
コマンドプロンプト (CMD) を開き、
lindorm-cli.exeが含まれるディレクトリに移動します。cd <directory_of_lindorm-cli.exe>コマンドプロンプトで、以下の文を実行してワイドテーブルエンジンに接続します。
lindorm-cli -url <jdbc url> -username <username> -password <password>パラメーターの説明
パラメーター
値の例
取得方法
jdbc url
jdbc:lindorm:table:url=http://ld-bp17j28j2y7pm****-proxy-lindorm-pub.lindorm.rds.aliyuncs.com:30060
LindormTable の ワイドテーブル SQL アドレス。
ユーザー名
user
LindormTable に接続するためのユーザー名。
パスワード
test
LindormTable に接続するためのパスワード。
重要パスワードを忘れた場合は、LindormTable クラスター管理システムでユーザーパスワードを変更してください。
パスワードを変更した後、コンソールでエンジンを再起動してください。
接続例
lindorm-cli -url jdbc:lindorm:table:url=http://ld-bp13y790c91f4****-proxy-lindorm-pub.lindorm.aliyuncs.com:30060 -username user -password test接続が成功した場合、以下の結果が返されます:
Connected to jdbc:lindorm:table:url=http://ld-bp13y790c91f4****-proxy-lindorm-pub.lindorm.aliyuncs.com:30060 lindorm-cli version: 2.0.xx結果の
2.0.xxは Lindorm-cli のバージョン番号です。
方法 2
Lindorm-cli.exe ファイルをダブルクリックし、以下の文を実行します:
connect <jdbc url> <username> <password>接続例
connect jdbc:lindorm:table:url=http://ld-bp13y790c91f4****-proxy-lindorm-pub.lindorm.aliyuncs.com:30060 user test接続が成功しても出力は生成されません。
使用方法
Lindorm-cli を使用して、対話モードまたは非対話モードで SQL 文を実行し、LindormTable にアクセスできます。
対話モードでの SQL 文の実行
ほとんどの場合、対話モードで Lindorm-cli を起動して LindormTable を管理できます。手順は以下の通りです:
Lindorm-cli の起動
例えば、「接続方法」セクションで説明されているプロトコルのいずれかを使用して LindormTable に接続した後、ターミナルは Lindorm-cli の対話インターフェイスに入り、次のコマンドの入力を待ちます。
説明Windows で `lindorm-cli.exe` ファイルをダブルクリックすると、コマンドプロンプトウィンドウが表示されます。これにより Lindorm-cli の対話インターフェイスが起動しますが、LindormTable への接続はまだ確立されていません。後続の SQL 文を実行する前に、`connect` サブコマンドを使用して接続を確立する必要があります。詳細については、「Windows にデプロイされたクライアント」および「方法 2」をご参照ください。
SQL 文を入力して LindormTable にアクセス
Lindorm-cli が接続を確立し、対話インターフェイスに入った後、SQL 文を入力して LindormTable にアクセスできます。以下の図は、対話モードでデータベースの作成、テーブルの作成、データの書き込み、データのクエリを行う方法の例を示しています。
説明LindormTable がサポートする SQL 文の詳細については、「SQL リファレンス」をご参照ください。
Lindorm-cli の終了
Lindorm-cli の対話インターフェイスで必要な文を実行した後、exitサブコマンドまたはCtrl+Dキーボードショートカットを使用して Lindorm-cli を終了できます。
対話モードで lindorm-cli を起動し、LindormTable への接続に成功すると、クライアントは終了するまで LindormTable との接続セッションを維持します。この期間中のすべての SQL 操作は同じセッションで実行されます。セッションが長期間アイドル状態になると、システムはリソースを解放するために自動的に接続を切断することにご注意ください。
非対話モードでの SQL 文の実行
運用保守スクリプトを作成中で、対話型のコマンドラインに入らずに Lindorm SQL 文を実行する必要がある場合は、lindorm-cli の非対話モードを使用して LindormTable を管理できます。このモードでは、SQL 文はコマンドパラメーターを使用して直接実行され、結果が返されます。このモードは、クエリや統計操作の実行などの自動化タスクに適しています。
シェルターミナルから非対話モードで SQL 文を実行するには、「接続方法」セクションで説明されているホストアドレスやポートなどの接続パラメーターに、-execute パラメーターと、単一引用符または二重引用符で囲んだ SQL 文を追加します。この操作により、短期接続が確立され、コマンドが実行されます。例:
lindorm-cli -url mysql://ld-xxxxxx-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060 -username user -password XXXX -execute "CREATE TABLE tb (id VARCHAR, name VARCHAR, address VARCHAR, PRIMARY KEY(id, name));"
非対話モードでワイドテーブルのクエリ結果を CSV ファイルにエクスポートすることもできます。
CSV ファイルのエクスポート機能には、Lindorm-cli 2.2.0 以降が必要です。現在のバージョンを確認するには、以下のいずれかの操作を実行してください:
コマンドラインからのクエリ:
lindorm-cli -versionコマンドを実行してバージョン番号を取得します。対話モードでの起動プロンプトの確認: 対話インターフェイスに入ると、最初のウェルカムメッセージにバージョン番号が表示されます。
lindorm-cli -url mysql://ld-xxxxxx-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060 -username user -password XXXX -format csv -output ~/result.csv -execute "SELECT * FROM tb;"短期接続メカニズム: 非対話モードでは、Lindorm-cli は各 SQL 文に対して個別の接続を確立し、文の実行直後に接続を閉じます。
出力制御: デフォルトでは、実行結果はターミナル (stdout) に出力されます。出力をファイルにリダイレクトするには、
-outputパラメーターを使用できます。
コマンドラインパラメーターとサブコマンド
コマンドラインパラメーター
ターミナルで Lindorm-cli を起動する際に、以下のコマンドラインパラメーターを指定できます:
パラメーター名 | 値は必須 | パラメーター値 | 説明 |
url | はい | LindormTable のプロトコル名 + SQL 接続文字列 (ポートを含む) | lindorm-cli が LindormTable への接続に使用するプロトコルと接続文字列情報を指定します。
|
username | はい | 接続用のユーザー名 | 指定されたユーザー名は、LindormTable で作成された Lindorm ユーザーである必要があります。 |
password | はい | ユーザー名のパスワード | - |
database | はい | 接続するデータベースの名前 | 指定しない場合、デフォルトのデータベースに接続されます。指定する場合、LindormTable で作成されたデータベースである必要があります。 |
execute | はい | 実行する SQL 文 | execute パラメーターを指定すると、lindorm-cli は非対話モードで実行されます。パラメーター値で指定された SQL 文は、単一引用符または二重引用符で囲む必要があります。 説明 二重引用符を使用して SQL 文を囲む場合、SQL 文内の二重引用符はバックスラッシュ ( |
output | はい | 非対話モードでの SQL 実行結果の出力先 | 非対話モードで output を指定しない場合、SQL 実行結果は標準出力に出力されます。output を指定した場合、SQL 実行結果は指定されたパスの指定されたファイルに書き込まれます。ファイルが存在しない場合、lindorm-cli はその作成を試みます。 |
format | はい | 以下のいずれか: horizontal, vertical, csv, json, column | LindormTable サーバーから返される SQL 実行結果のフォーマットを変更します。指定しない場合、デフォルトのフォーマットは column です。
|
pretty | いいえ | - | format を JSON に設定して使用します。 pretty スイッチがオンの場合、サーバーから返される情報は整形された JSON 形式で出力されます。指定しない場合、出力は圧縮された JSON 形式になります。 |
csvNoHeader | いいえ | - | format を CSV に設定して使用します。 csvNoHeader スイッチがオンの場合、サーバーから返される情報は結果セットのヘッダー (列名) なしの CSV 形式で出力されます。 |
nullString | はい | NULL を置き換える文字列 | format を CSV に設定して使用します。 nullString を指定すると、サーバーから返されるクエリ結果の NULL 値が指定された文字列に置き換えられます。 nullString を指定しない場合、クエリ結果の NULL 値は以下のデフォルト形式で出力されます:
|
version | いいえ | - | lindorm-cli のバージョン情報を表示します。この場合、lindorm-cli は実際には起動されず、対話モードには入りません。 |
すべての Lindorm-cli コマンドラインパラメーターには、ハイフン (-) をプレフィックスとして付ける必要があります。
一般的なサブコマンド
対話モードで Lindorm-cli ツールを起動すると、対話インターフェイスで Lindorm-cli サブコマンドを入力して、LindormTable に SQL 文を送信するだけでなく、Lindorm-cli の動作を制御できます。一般的なサブコマンドは以下の表で説明されています:
サブコマンド | コマンドパラメーター | 説明 |
connect | <url> <username> <password> | lindorm-cli が起動され、初期接続なしで対話モードに入った場合、connect サブコマンドを使用して LindormTable への接続を確立できます。 url、username、password フィールドは、 |
format | 以下のいずれか: horizontal, vertical, csv, json |
|
help | なし | 一般的なサブコマンドのコレクションを表示します。 |
history | なし | 最近実行された SQL 文またはサブコマンドを表示します。 |
exit または quit | なし | lindorm-cli を終了し、LindormTable から切断します。 |
よくある質問
接続がタイムアウトしたり失敗したりするのはなぜですか?
接続タイムアウトまたは失敗は、Failed to connect to <wide table endpoint> connection check failed や connection timeout などのエラーメッセージを返すことがあります。
問題を解決するために、以下の考えられる原因を確認してください:
原因 | 解決策 |
パブリックネットワーク接続用のパブリック IP アドレスがホワイトリストに追加されていない。 | クライアントのパブリック IP アドレスを Lindorm ホワイトリストに追加します。 クライアントのパブリック IP アドレスを見つけるには、コマンドプロンプトで |
パブリック IP アドレスをホワイトリストに追加した後でも接続がタイムアウトする。 | ネットワーク接続が不安定である可能性があります。Virtual Private Cloud (VPC) 接続に切り替えることを推奨します。 |
ECS インスタンスの IP アドレスが Lindorm ホワイトリストに追加されていない。 | |
正しいエンドポイントが使用されていない。 | Lindorm は、VPC アクセスとパブリックネットワークアクセス用に異なるエンドポイントを提供します。ご利用のネットワーク環境に適した正しいエンドポイントを使用していることを確認してください。 |
問題が解決しない場合は、DingTalk で Lindorm のテクニカルサポートにご連絡ください。DingTalk ID は s0s3eg3 です。
関連ドキュメント
Lindorm ワイドテーブル SQL 構文の詳細については、「SQL リファレンス」をご参照ください。
その他の接続方法については、「MySQL コマンドラインを使用した LindormTable への接続と利用」および「MySQL プロトコルの使用 (推奨)」をご参照ください。