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

ApsaraDB RDS:character_set_server パラメーターと collation_server パラメーターを変更する

最終更新日:Apr 01, 2025

ApsaraDB RDS for MySQL インスタンスのデータベースを移行またはマージする場合、データベースの文字セットと文字照合順序に互換性がない場合、またはサポートしているアプリケーションに文字セットと文字照合順序に関する特別な要件がある場合は、RDS インスタンスの character_set_server パラメーターと collation_server パラメーターを変更できます。

背景情報

character_set_server パラメーターは、RDS インスタンスのデフォルトの文字セットを指定します。collation_server パラメーターは、文字セットの照合順序を指定します。

1 つの文字セットはさまざまな照合順序をサポートします。たとえば、UTF-8 文字セットは、utf8_general_ci 照合順序と utf8_bin 照合順序をサポートします。Latin-1 文字セットは、latin1_general_ci 照合順序と latin1_bi 照合順序をサポートします。文字セットの照合順序は、文字セット内の文字の比較方法とソート方法を指定します。

照合順序は、バイナリ照合順序と言語固有の照合順序の 2 つのタイプに分類されます。

  • utf8_bin などのバイナリ照合順序は、言語環境や文字の大文字と小文字の区別にかかわらず、文字のバイナリ値を比較します。たとえば、文字 aA のバイナリ値は異なります。そのため、これらは異なる文字と見なされ、バイナリ値に基づいてソートされます。バイナリ照合順序は高速で文字をソートしますが、言語の動作に準拠していない可能性があります。

  • utf8_general_ci などの言語固有の照合順序は、文字の言語環境と大文字と小文字の区別を考慮します。たとえば、文字 aA は同じものと見なされます。その結果、言語の動作に準拠したソート結果が得られます。

MySQL では、照合順序は文字セット固有であるため、character_set_servercollation_server は関連付けられています。文字セットごとに異なる照合順序がサポートされています。互換性のある文字セットと照合順序のみを組み合わせて使用できます。

説明
  • MySQL では、utf8utf8mb3 は相互にエイリアスであり、同じ文字セットを指定します。utf8mb3 は、utf8mb4 と区別するためのエイリアスです。MySQL 5.7 以降のバージョンでは、より多くの文字をサポートするために、デフォルトの文字セットとして utf8mb4 文字セットを使用することをお勧めします。以前のバージョンの MySQL のコードやデータベースとの互換性テストなど、一部のシナリオでは、utf8 文字セットまたは utf8mb3 文字セットを使用する必要があります。

  • character_set_server パラメーターと collation_server パラメーターは、utf8mb3 ではなく utf8 にのみ設定できます。

注意事項

character_set_server パラメーターと collation_server パラメーターは、プライマリ RDS インスタンスでのみ変更でき、読み取り専用インスタンスでは変更できません。

パラメーター設定ルール

  • character_set_server パラメーターのみを変更する場合、collation_server パラメーターの現在の値に関係なく、システムは collation_server パラメーターを character_set_server パラメーターに一致するデフォルト値に自動的に設定します。たとえば、character_set_server パラメーターを utf8 に設定すると、システムは collation_server パラメーターの値を utf8_general_ci に自動的に変更します。

    説明

    utf8utf8mb3 は相互にエイリアスです。そのため、utf8_general_ci 照合順序と utf8mb3_general_ci 照合順序は同じです。character_set_server パラメーターを utf8 に設定すると、collation_server パラメーターの値が utf8mb3_general_ci に変更される場合があります。

  • collation_server パラメーターのみを変更する場合、システムはパラメーターの新しい値が character_set_server パラメーターの値と一致するかどうかを確認します。パラメーターの値が一致しない場合、collation_server パラメーターを変更することはできません。詳細については、「パラメーター値」をご参照ください。

  • character_set_server パラメーターと collation_server パラメーターを同時に変更する場合、システムはパラメーターの新しい値が一致するかどうかを確認します。新しい値が一致しない場合、パラメーターを変更することはできません。詳細については、「パラメーター値」をご参照ください。

  • character_set_server パラメーターと collation_server パラメーターは、「パラメーター値」の表にリストされている値にのみ設定できます。

重要

カスタムパラメーターテンプレートを作成または変更する場合は、次の項目に注意する必要があります。

  • character_set_server パラメーターのみを変更する場合、collation_server パラメーターにはデフォルト値が使用されます。

  • character_set_server パラメーターと collation_server パラメーターを同時に変更する場合は、パラメーターの新しい値がパラメーター設定ルールを満たしていることを確認してください。

パラメーター値

デフォルト値

MySQL バージョン

character_set_server

collation_server

MySQL 8.0、MySQL 5.7、および MySQL 5.6。

utf8

utf8_general_ci

パラメーターのマッチング

重要

RDS インスタンスのマイナーエンジンバージョンは、次のいずれかの要件を満たしている必要があります。

  • RDS インスタンスで MySQL 8.0 を実行している場合、マイナーエンジンバージョンは 20200331 以降である必要があります。

  • RDS インスタンスで MySQL 5.7 を実行している場合、マイナーエンジンバージョンは 20181226 以降である必要があります。

  • RDS インスタンスで MySQL 5.6 を実行している場合、マイナーエンジンバージョンは 20221130 以降である必要があります。

character_set_server

collation_server

collation_server のデフォルト値

説明

utf8

utf8_general_ci

はい

パラメーターのマッチングは、MySQL 8.0、MySQL 5.7、および MySQL 5.6 を実行する RDS インスタンスで同じです。

utf8_bin

いいえ

utf8_unicode_ci

いいえ

utf8_unicode_520_ci

いいえ

utf8_general_mysql500_ci

いいえ

latin1

latin1_swedish_ci

はい

パラメーターのマッチングは、MySQL 8.0、MySQL 5.7、および MySQL 5.6 を実行する RDS インスタンスで同じです。

latin1_bin

いいえ

latin1_general_ci

いいえ

latin1_general_cs

いいえ

gbk

gbk_chinese_ci

はい

パラメーターのマッチングは、MySQL 8.0、MySQL 5.7、および MySQL 5.6 を実行する RDS インスタンスで同じです。

gbk_bin

いいえ

gb18030

gb18030_chinese_ci

はい

パラメーターのマッチングは、MySQL 8.0 および MySQL 5.7 を実行する RDS インスタンスで同じです。gb18030 は、MySQL 5.6 を実行する RDS インスタンスではサポートされていません。

gb18030_bin

いいえ

gb18030_unicode_520_ci

いいえ

utf8mb4

utf8mb4_0900_ai_ci

はい

これらの照合順序は、MySQL 8.0 を実行する RDS インスタンスでのみサポートされており、MySQL 5.7 および MySQL 5.6 を実行する RDS インスタンスではサポートされていません。

utf8mb4_0900_as_ci

いいえ

utf8mb4_0900_as_cs

いいえ

utf8mb4_0900_bin

いいえ

utf8mb4_general_ci

  • MySQL 8.0 を実行する RDS インスタンス: いいえ。

  • MySQL 5.7 および MySQL 5.6 を実行する RDS インスタンス: はい。

なし。

utf8mb4_bin

いいえ

パラメーターのマッチングは、MySQL 8.0、MySQL 5.7、および MySQL 5.6 を実行する RDS インスタンスで同じです。

utf8mb4_unicode_520_ci

いいえ

utf8mb4_unicode_ci

いいえ

関連情報

文字セット構成