Lindorm-cli は、Lindorm が提供する軽量なコマンドラインインターフェイス (CLI) であり、Lindorm データベースへの接続および管理に使用します。Lindorm-cli を使用して、テーブルの作成、データの照会、データの書き込み、データのエクスポートなどの基本的な SQL 操作を実行できます。本トピックでは、Lindorm-cli を使用して Lindorm ワイドテーブルエンジンに接続し、利用する方法について説明します。
前提条件
lindorm-cli を実行する環境をクライアント環境と定義します。lindorm-cli を使用して Lindorm ワイドテーブルエンジンにアクセスする前に、以下の点を確認してください。
クライアントの IP アドレスを Lindorm のホワイトリストに追加します。詳細については、「ホワイトリストの設定」をご参照ください。
クライアント環境と Lindorm 間のネットワークタイプを確認します。
lindorm-cli を使用してワイドテーブルエンジンに接続する際に、以下のネットワークタイプがサポートされています。
ネットワークタイプ
説明
仮想プライベートクラウド (VPC) はクラウド上のプライベートネットワークです。異なる VPC 間はレイヤー 2 論理分離により隔離され、高いセキュリティを提供します。ご利用の ECS インスタンス 上で lindorm-cli をデプロイする場合、VPC 経由で Lindorm ワイドテーブルエンジンに接続すると、より高いセキュリティと低いネットワーク遅延を実現できます。
パブリックネットワーク
パブリックネットワークとはインターネットを指します。オンプレミスデバイスから Lindorm ワイドテーブルエンジンのテストまたは管理を行う必要がある場合は、ローカルデバイス上に lindorm-cli をデプロイし、パブリックネットワーク経由で Lindorm ワイドテーブルエンジンに接続します。
説明パブリックネットワーク経由での接続にはトラフィック料金は発生しませんが、セキュリティリスクがあります。より高いセキュリティを確保するため、VPC の使用を推奨します。
コンソールでパブリックエンドポイントを有効にする必要があります。詳細については、「操作手順」をご参照ください。
インストール
ご利用のオペレーティングシステムに適合する Lindorm-cli インストールパッケージをダウンロードします。ダウンロードリンクは以下の表に記載されています。
説明表に記載されている SHA256 チェックサムを使用して、ダウンロードした Lindorm-cli パッケージの整合性および信頼性を検証できます。
オペレーティングシステム
ダウンロードリンク
SHA256 チェックサム
Linux
直接ダウンロードコマンド:
wget https://tsdbtools.oss-cn-hangzhou.aliyuncs.com/lindorm-cli-linux-latest.tar.gz3a9ee33e24769cf47b3a90c3a1bba29d26f8aede7a64dbc13ea1f4f5426f04e4
Linux-arm64
直接ダウンロードコマンド:
wget https://tsdbtools.oss-cn-hangzhou.aliyuncs.com/lindorm-cli-linux-arm64-latest.tar.gzbc723d4a3a14a85c973c7082a56bb4934a40d2b9cccd72b5767352b8c334ce19
Mac (Intel チップ)
34efd3f43a700e1fea72ee5e5933b9df3cf624569bcf59a2f8a6752dc7faab6c
Mac (Arm チップ)
0be9b346404a37d953714377b59f06b6492ff9c4e46dba4d5bf07c390ee284ad
Windows
54a447f263b93b158533f7ccd542cbf52e42fb66ce287d38065a798b7801fc48
Lindorm-cli パッケージを展開します。
ご利用のオペレーティングシステムの標準的な展開方法を使用して、ダウンロードしたパッケージを解凍します。
Linux の場合、以下のコマンドを実行してパッケージを展開します。展開後、
lindorm-cliファイルが生成されます。この実行可能ファイルは、追加のインストール手順なしでシェルターミナルから直接実行できます。tar zxvf lindorm-cli-linux-latest.tar.gz
接続方法
Lindorm-cli は、MySQL プロトコルまたは Avatica プロトコルのいずれかを使用して Lindorm ワイドテーブルエンジンに接続することをサポートしています。MySQL プロトコルの使用を推奨します。
MySQL プロトコルを使用してワイドテーブルエンジンに接続できるのは、lindorm-cli バージョン 2.0.0 以降のみです。
MySQL プロトコルを使用したワイドテーブルエンジンへの接続(推奨)
Linux または Mac にクライアントをデプロイする場合
Lindorm-cliを含むディレクトリに移動します。cd <Lindorm-cli directory>以下のコマンドを実行して、ワイドテーブルエンジンに接続します。
./lindorm-cli -url <mysql url> -username <username> -password <password>パラメーターの説明
パラメーター
説明
mysql url
Lindorm ワイドテーブルエンジンのMySQL 互換エンドポイント。その他の接続設定の詳細については、「接続設定」をご参照ください。
username
Lindorm ワイドテーブルエンジンに接続するためのユーザー名。
password
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=<timeout>で、タイムアウト単位はミリ秒 (ms) です。例:ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060?operationTimeout=120000。重要operationTimeout パラメーターは、ワイドテーブルエンジンバージョン 2.7.7 以降でのみサポートされます。現在のバージョンの確認方法またはアップグレード方法については、「ワイドテーブルエンジンバージョンガイド」および「マイナーバージョンアップデート」をご参照ください。
接続例
./lindorm-cli -url ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060 -username user -password test --Add mysql:// protocol header ./lindorm-cli -url mysql://ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060 -username user -password test --Specify query timeout ./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 <lindorm-cli.exe directory>CMD で以下のコマンドを実行して、ワイドテーブルエンジンに接続します。
lindorm-cli -url <mysql url> -username <username> -password <password>パラメーターの説明
パラメーター
例となる値
取得方法
mysql url
ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060
Lindorm ワイドテーブルエンジンのMySQL 互換エンドポイント。その他の接続設定の詳細については、「接続設定」をご参照ください。
username
user
Lindorm ワイドテーブルエンジンに接続するためのユーザー名。
password
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=<timeout>で、タイムアウト単位はミリ秒 (ms) です。例:ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060?operationTimeout=120000。重要operationTimeout パラメーターは、ワイドテーブルエンジンバージョン 2.7.7 以降でのみサポートされます。現在のバージョンの確認方法またはアップグレード方法については、「ワイドテーブルエンジンバージョンガイド」および「マイナーバージョンアップデート」をご参照ください。
接続例
lindorm-cli -url ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060 -username user -password test --Add mysql:// protocol header lindorm-cli -url mysql://ld-bp187uwcx5f40****-proxy-lindorm-vpc.lindorm.aliyuncs.com:33060 -username user -password test --Specify query timeout 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 プロトコルを使用したワイドテーブルエンジンへの接続
Linux または Mac にクライアントをデプロイする場合
Lindorm-cliを含むディレクトリに移動します。cd <Lindorm-cli directory>以下のコマンドを実行して、ワイドテーブルエンジンに接続します。
./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
Lindorm ワイドテーブルエンジンのワイドテーブル SQL エンドポイント。
username
user
Lindorm ワイドテーブルエンジンに接続するためのユーザー名。
password
test
Lindormワイドテーブルエンジンに接続するためのパスワード。
重要パスワードを忘れた場合は、Lindorm ワイドテーブルエンジンのクラスター管理システムでユーザーパスワードをリセットできます。
パスワードをリセットした後は、コンソールでエンジンを再起動します。
接続例
./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 <lindorm-cli.exe directory>CMD で以下のコマンドを実行して、ワイドテーブルエンジンに接続します。
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
Lindorm ワイドテーブルエンジンのワイドテーブル SQL エンドポイント。
username
user
Lindorm ワイドテーブルエンジンに接続するためのユーザー名。
password
test
Lindormワイドテーブルエンジンに接続するためのパスワード。
重要パスワードを忘れた場合は、Lindorm wide table engine クラスター管理システムでユーザーパスワードをリセットできます。
パスワードをリセットした後、コンソールでエンジンを再起動します。
接続例
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.rds.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 ステートメントを実行する際に、インタラクティブモードと非インタラクティブモードの両方をサポートしています。
インタラクティブモードでの SQL ステートメントの実行
ほとんどの場合、ワイドテーブルエンジンを操作するために lindorm-cli をインタラクティブモードで起動します。ワークフローは以下のとおりです。
lindorm-cli を起動する
前のセクションで説明した任意のプロトコルを使用して Lindorm ワイドテーブルエンジンに接続すると、ターミナルは lindorm-cli インタラクティブインターフェイスに入り、さらにコマンドを待機します。説明Windows では、lindorm-cli.exe をダブルクリックすると CMD ターミナルウィンドウが開きます。これにより lindorm-cli インタラクティブインターフェイスが起動しますが、Lindorm ワイドテーブルエンジンへの接続は確立されません。SQL ステートメントを実行する前に、connect サブコマンドを使用して接続を確立する必要があります。詳細については、「Windows にクライアントをデプロイする場合」および「方法 2」をご参照ください。
ワイドテーブルエンジンにアクセスするための SQL ステートメントを入力する
接続を確立し、インタラクティブインターフェイスに入ったら、ワイドテーブルエンジンにアクセスするための SQL ステートメントを入力します。サポートされている SQL 構文については、「SQL リファレンス」をご参照ください。lindorm-cli を終了する
インタラクティブインターフェイスでの操作が完了したら、exitサブコマンドを実行するか、キーボードショートカットctrl+dを押して lindorm-cli を終了します。
インタラクティブモードで lindorm-cli を起動し、ワイドテーブルエンジンへの接続に成功すると、終了するまでクライアントはエンジンとのセッションを維持します。この期間中に実行されるすべての 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 | はい | Lindorm ワイドテーブルエンジンのプロトコル名 + SQL 接続文字列(ポートを含む) | lindorm-cli がワイドテーブルエンジンに接続するためのプロトコルと接続文字列を指定します。
|
username | はい | 接続用のユーザー名 | 指定されたユーザー名は、ワイドテーブルエンジン内にすでに作成済みの Lindorm ユーザーである必要があります。 |
password | はい | ユーザー名に対応するパスワード | - |
database | はい | 接続するデータベース名 | 指定しない場合、デフォルトのデータベースが使用されます。指定する場合、そのデータベースはワイドテーブルエンジン内にすでに存在している必要があります。 |
execute | はい | 実行する SQL ステートメント | execute パラメーターを指定すると、lindorm-cli は非インタラクティブモードで動作します。SQL ステートメントはシングルクォートまたはダブルクォートで囲んでください。 説明 SQL ステートメントをダブルクォートで囲む場合、内部のダブルクォートはバックスラッシュ |
output | はい | 非インタラクティブモードにおける SQL 実行結果の出力先 | 非インタラクティブモードでは、output を指定しない場合、結果は標準出力に出力されます。指定した場合、結果は指定されたパスのファイルに書き込まれます。ファイルが存在しない場合は、新規作成されます。 |
format | はい | 以下のいずれか: horizontal、vertical、csv、json、column | ワイドテーブルエンジンから返される SQL 実行結果のフォーマットを変更します。デフォルトのフォーマットは column です。
|
pretty | いいえ | - | format を JSON に設定する場合に使用します。 有効にすると、結果は整形された JSON として出力されます。デフォルトでは、結果はコンパクトな JSON として出力されます。 |
csvNoHeader | いいえ | - | format を CSV に設定する場合に使用します。 有効にすると、結果はカラムヘッダーなしの CSV 形式で出力されます。 |
nullString | はい | NULL 値を置き換える文字列 | format を CSV に設定する場合に使用します。 指定すると、クエリ結果内の NULL 値が指定された文字列に置き換えられます。 nullString を指定しない場合、NULL 値は以下のように出力されます。
|
version | いいえ | - | lindorm-cli のバージョン情報を表示します。このパラメーターを使用すると、lindorm-cli は起動せず、インタラクティブモードにも入りません。 |
すべての lindorm-cli コマンドラインパラメーターには、ハイフン - をプレフィックスとして付ける必要があります。
一般的なサブコマンド
インタラクティブモードで lindorm-cli を起動した後、Lindorm ワイドテーブルエンジンに SQL ステートメントを送信するだけでなく、インタラクティブインターフェイスで lindorm-cli サブコマンドを実行してその動作を制御できます。一般的なサブコマンドを以下に示します。
サブコマンド | パラメーター | 説明 |
connect | <url> <username> <password> | 接続せずにインタラクティブモードで lindorm-cli を起動した場合、connect サブコマンドを使用して Lindorm ワイドテーブルエンジンへの接続を確立します。 url、username、および password パラメーターは、コマンドラインパラメーター |
format | 以下のいずれか: horizontal、vertical、csv、json |
|
help | なし | 一般的なサブコマンドの一覧を表示します。 |
history | なし | 最近実行した SQL ステートメントまたはサブコマンドを表示します。 |
exit または quit | なし | lindorm-cli を終了し、Lindorm ワイドテーブルエンジンからの接続を切断します。 |
よくある質問
接続がタイムアウトしたり失敗したりするのはなぜですか?
接続のタイムアウトまたは失敗により、Failed to connect to <wide table endpoint> connection check failed や connection timeout などのエラーが返されます。
考えられる原因と解決策を以下に示します。順に確認してください。
原因 | 解決策 |
パブリックネットワーク接続を使用しているが、パブリック IP アドレスをホワイトリストに追加していない。 | クライアントのパブリック IP アドレスを Lindorm ホワイトリストに追加します。 クライアントのパブリック IP アドレスを確認するには、Windows コマンドプロンプト (CMD) で |
パブリック IP アドレスをホワイトリストに追加しているが、接続タイムアウトが継続する。 | ネットワークの不安定性が原因の可能性があります。VPC 接続への切り替えを推奨します。 |
ECS インスタンスからアクセスしているが、ECS の IP アドレスを Lindorm ホワイトリストに追加していない。 | |
誤ったエンドポイントを使用している。 | Lindorm のエンドポイントは、VPC 接続と パブリックネットワーク 接続で異なります。ネットワーク環境に基づいて正しいエンドポイントを使用してください。 |
これらの解決策でも問題が解消しない場合は、Lindorm テクニカルサポート (DingTalk ID: s0s3eg3) までご連絡ください。
関連ドキュメント
Lindorm ワイドテーブルの SQL 構文については、「SQL リファレンス」をご参照ください。
その他の接続方法:「MySQL コマンドラインを使用したワイドテーブルエンジンへの接続と利用」、「MySQL プロトコルの使用(推奨)」。