LindormTable は MySQL プロトコル経由でのアクセスを許可します。 MySQL ベースのクライアントを使用して LindormTable に接続し、使用することができます。 このトピックでは、MySQL を使用してアプリケーションを開発する方法と、関連する使用上の注意事項について説明します。
使用上の注意事項
LindormTable 2.6.0 以降のバージョンは MySQL をサポートしています。 LindormTable のバージョンを表示またはアップグレードする方法の詳細については、「LindormTable のリリースノート」および「Lindorm インスタンスのマイナーエンジンバージョンのアップグレード」をご参照ください。
LindormTable でサポートされている SQL 構文は、MySQL 構文と完全には互換性がありません。 LindormTable でサポートされている SQL 構文の詳細については、「Lindorm SQL 構文」をご参照ください。
MySQL 互換機能を有効にする
MySQL 互換機能を有効にする方法の詳細については、「MySQL クライアントを使用して LindormTable に接続して使用する」をご参照ください。
注意事項
MySQL を使用して LindormTable に接続する場合、セキュリティのために、デフォルトではデータ転送に SSL 暗号化が有効になっています。 アプリケーションと Lindorm インスタンスが同じ VPC にデプロイされている場合は、パフォーマンス向上のために MySQL クライアントでプレーンテキスト通信を有効にすることができます。 たとえば、MySQL JDBC V8.x を使用して LindormTable に接続する場合、接続 URL で
sslMode=disabledを指定してプレーンテキスト通信を有効にすることができます。一部の以前のバージョンの MySQL クライアントは、以前のバージョンの TLS プロトコル(V1.0 や V1.1 など)を使用しています。 この場合、接続が失敗し、プロトコルバージョンに固有の例外が発生する可能性があります。 この場合は、次のいずれかの方法を使用して問題に対処できます。
プレーンテキストを使用してデータが転送される接続を確立します。
クライアントの TLS バージョンを設定できる場合は、TLS バージョンを 1.2 に設定します。 たとえば、MySQL JDBC V5.1.44 を使用している場合は、enabledTLSProtocols パラメーターを設定して TLS バージョンを指定できます。
クライアントをアップグレードします。 MySQL 8.0 以降のバージョンをサポートするクライアントを使用することをお勧めします。
ユーザーが接続中に使用できる認証プロトコルは、ユーザーの作成時のインスタンスの LindormTable バージョンによって異なります。 要件に基づいて認証プロトコルを選択してください。
ユーザーの作成時に LindormTable のバージョンが 2.6.2 より前の場合、ユーザーは認証に
caching_sha2_passwordプロトコルのみを使用できます。ユーザーの作成時に LindormTable のバージョンが 2.6.2 以降の場合、ユーザーは認証に
caching_sha2_passwordプロトコルとmysql_native_passwordプロトコルを使用できます。caching_sha2_passwordプロトコルを使用することをお勧めします。
たとえば、LindormTable のバージョンが 2.5.4 の Lindorm インスタンスに user という名前のユーザーを作成し、LindormTable のバージョンを 2.6.2 に更新した後に test という名前のユーザーを作成した場合、user という名前のユーザーは
caching_sha2_passwordプロトコルのみをサポートし、test という名前のユーザーはmysql_native_passwordプロトコルとcaching_sha2_passwordプロトコルをサポートします。
MySQL プロトコルとの互換性
MySQL プロトコルには複数のサブプロトコルが含まれています。 次の表は、Lindorm とこれらのサブプロトコルの互換性について説明しています。
フェーズ | サブプロトコル | プロトコルコマンド | Lindorm でのサポート | 説明 |
接続フェーズ | ハンドシェイク | はい | 接続が確立される前に使用されるハンドシェイクプロトコル。 HandshakeV10 のみがサポートされています。 | |
TLS サポート | はい | 通信の暗号化に使用される TLS プロトコル。 TLS 1.2 のみがサポートされています。 説明 デフォルトでは、Lindorm に接続するときに、転送されるデータの暗号化に SSL プロトコルが使用されます。 | ||
認証方法 | old_password | いいえ | パスワードの転送に使用される以前のバージョンのプロトコル。 このプロトコルは、以前のバージョン (4.x 以前) の MySQL クライアントがユーザー認証リクエストを送信するために使用します。 | |
mysql_clear_password | はい | プレーンテキストパスワードの転送に使用されるプロトコル。 重要 このプロトコルは通常、SSL と一緒に使用されます。 | ||
mysql_native_password | はい | 5.x バージョンの MySQL クライアントがパスワードを送信するために使用するデフォルトのプロトコル。 | ||
caching_sha2_password | はい | 8.x バージョンの MySQL クライアントがパスワードを送信するために使用するデフォルトのプロトコル。 このプロトコルは、mysql_native_password と比較して、セキュリティと効率が強化されています。 このプロトコルを使用することをお勧めします。 | ||
コマンドフェーズ | テキストプロトコル | COM_QUERY | はい | SQL ステートメントを送信して実行するために使用されるコマンド。 |
ユーティリティコマンド | COM_QUIT | はい | LindormTable から切断するために使用されるコマンド。 | |
COM_INIT_DB | はい | 接続先のデフォルトデータベースを変更するために使用されるコマンド。 | ||
COM_PING | はい | クライアントとサーバー間の接続を確認するために使用されるコマンド。 | ||
COM_DEBUG | いいえ | SQL ステートメントが実行されたときに、サーバー側で SQL ステートメントに関するデバッグ情報を表示するために使用されるコマンド。 | ||
COM_CHANGE_USER | いいえ | 現在の接続のユーザーを切り替えるために使用されるコマンド。 | ||
COM_RESET_CONNECTION | いいえ | Lindorm に接続するときに、現在の接続のセッションステータスをリセットするために使用されるコマンド。 | ||
COM_SET_OPTION | いいえ | Lindorm に接続するときに、クライアントの動作と設定を指定するために接続オプションを設定するために使用されるコマンド。 | ||
プリペアドステートメント | COM_STMT_PREPARE | はい | パラメーターが設定されているクエリステートメントを前処理するために使用されるコマンド。 | |
COM_STMT_EXECUTE | はい | SQL ステートメントでパラメーターを指定してステートメントを実行するために使用されるコマンド。 | ||
COM_STMT_FETCH | いいえ | 埋め込み SQL ステートメントで FETCH 句を指定するために使用されるコマンド。 | ||
COM_STMT_CLOSE | はい | 前処理ステートメントを閉じるために使用されるコマンド。 | ||
COM_STMT_SEND_LONG_DATA | いいえ | ラージオブジェクトを送信するために使用されるコマンド。 このコマンドは、COM_STMT_EXECUTE の前に実行されます。 | ||
レプリケーションプロトコル | いいえ | MySQL のバイナリログを複製するために使用されるプロトコル。 | ||