環境
- AWS Aurora MySQL5.7互換
実施したこと
Auroraの場合は、パラメータグループが2種類あって、文字コードを変更するときはクラスターのパラメータグループの方で変更する必要があります。
Amazon Aurora MySQL リファレンス
RDS MySQL5.7からAurora MySQL5.7互換に移行したときに意外とAuroraの記事が少なかったので。
前提条件
既にAuroraを構築して、インスタンスも起動している状態とします。
クラスターのパラメータグループ作成
タイプでDB Cluster Parameter Groupを選択して作成します。
パラメータグループの編集
今回は以下のパラメータをutf8mb4に変更しました。
character_set_client
character_set_connection
character_set_database
character_set_results
character_set_server
DB クラスターのパラメータグループを変更する
DBクラスターのパラメータグループを上記で作成したパラメータグループにしてクラスターの変更します。
私の場合、開発中の環境でしたので、すぐに適用を選択し、念のためインスタンスの再起動を行いました(再起動は必要ないかもしれないです)。
変更の確認
DBインスタンスにMySQLログインして確認。
mysql> show global variables like 'character%';
+--------------------------+---------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
データベースがすでに作成されている場合は、データベースの文字コード変更をする。
mysql> use DB名
Database changed
mysql> show variables like "chara%";
+--------------------------+---------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8mb4 |
mysql> set character_set_client = utf8mb4;
Query OK, 0 rows affected (0.00 sec)
mysql> set character_set_connection = utf8mb4;
Query OK, 0 rows affected (0.01 sec)
mysql> set character_set_database = utf8mb4;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> set character_set_results = utf8mb4;
Query OK, 0 rows affected (0.01 sec)
mysql> set character_set_server = utf8mb4;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like "chara%";
+--------------------------+---------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
参考
以下記事が大変参考になりました。ありがとうございました。
MySQLの文字コードをutf8mb4に変更
余談:Aurora所感
今のところMySQLと同じように扱えています。