すべてのプロダクト
Search
ドキュメントセンター

Lindorm:アプリケーション開発における MySQL 使用時の注意事項

最終更新日:Jan 14, 2025

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 のバイナリログを複製するために使用されるプロトコル。