MariaDBデータベースに対してクエリを実行すると、MariaDBは一連のシステム変数を使用して、クエリが実行されるたびに使用する文字セットと照合を決定します。クライアントがサーバーに対して別の文字セットを使用している場合、MariaDBはそれを適切な文字セットと照合に変換できます。
クエリ結果をクライアントに送り返すときに、MariaDBは、必要に応じて、これらの結果を別の文字セットに完全に変換して戻すことができます。 MariaDBはシステム変数を使用して、これらの各ステップで使用する文字セットと照合を決定します。
MariaDBで接続の照合を表示する3つの方法を次に示します。
@@collation_connection
可変
以下は、接続の照合を返します(どのシステム変数にも同じ構文を使用できます):
SELECT @@collation_connection;
結果の例:
+------------------------+ | @@collation_connection | +------------------------+ | utf8_general_ci | +------------------------+
SHOW VARIABLES
ステートメント
SHOW VARIABLES
ステートメントは、MariaDBシステム変数の値を示しています。これにより大量のデータが返される可能性があるため、通常はWHERE
のいずれかを使用するのが最適です。 またはLIKE
関心のある変数のみに絞り込むための句。
例:
SHOW VARIABLES
WHERE Variable_name = 'collation_connection';
結果の例:
+----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_general_ci | +----------------------+-----------------+
または、LIKE
を使用することもできます collation
で始まる変数を返す句 :
SHOW VARIABLES LIKE 'collation%';
結果の例:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+>
デフォルトでは、SHOW VARIABLES
はSESSION
を示しています 変数。この場合、現在の接続に対して有効な値を返します。
したがって、前の例は次のように書き直すことができます。
SHOW SESSION VARIABLES LIKE 'collation%';
結果の例:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+>
または、SESSION
を置き換えることもできます LOCAL
を使用 (これはSESSION
の同義語です ):
SHOW LOCAL VARIABLES LIKE 'collation%';
GLOBAL
を使用することもできます MariaDBへの新しい接続に使用される値を表示する修飾子。
例:
SHOW GLOBAL VARIABLES LIKE 'collation%';
結果の例:
+----------------------+--------------------+ | Variable_name | Value | +----------------------+--------------------+ | collation_connection | utf8mb4_general_ci | | collation_database | utf8mb4_general_ci | | collation_server | utf8mb4_general_ci | +----------------------+--------------------+>
この場合、GLOBAL
collation_connection
の変数 LOCAL
に異なる値を返しました カウンターパート。
mariadb-admin
ユーティリティ(別名mysqladmin
)
mariadb-admin
を使用してサーバー照合情報を取得することもできます 効用。
このユーティリティを使用して、すべての変数を返すことができます。そして、これらの変数を関心のある変数だけに絞り込むことができます。この場合は、collation_connection
変数。
collation_connection
だけを返すには 変数を入力し、新しいターミナルを開いて、次のコマンドを実行します。
mariadb-admin variables | grep collation_connection
結果:
| collation_connection | utf8mb4_general_ci
これはGLOBAL
と同じ値であることに注意してください 上で返された変数(SESSION
ではありません) 現在の接続の変数)。これは、MariaDBへの新しい接続のデフォルトの照合です。
これを行う別の方法は、mariadb-admin
を置き換えることです。 mysqladmin
を使用 。
このように:
mysqladmin variables | grep collation_connection
mysqladmin
を使用する必要があります 以前のバージョンのMariaDB(10.4.6より前)を使用している場合。 MariaDB 10.4.6以降、mariadb-adminはmysqladminへのシンボリックリンクです。 MariaDB 10.5.2から、mariadb-admin
スクリプトの名前で、mysqladmin
が付いています シンボリックリンク。 mysqladmin
についてはMariaDBのドキュメントを参照してください 詳細については。