LoginSignup
46
27

More than 5 years have passed since last update.

AWS Aurora MySQL5.7互換の文字コードをutf8mb4に変更

Last updated at Posted at 2018-03-08

環境

  • AWS Aurora MySQL5.7互換

実施したこと

Auroraの場合は、パラメータグループが2種類あって、文字コードを変更するときはクラスターのパラメータグループの方で変更する必要があります。
Amazon Aurora MySQL リファレンス

RDS MySQL5.7からAurora MySQL5.7互換に移行したときに意外とAuroraの記事が少なかったので。

前提条件
既にAuroraを構築して、インスタンスも起動している状態とします。

クラスターのパラメータグループ作成

パラメータグループの作成を選択します。
スクリーンショット 2018-03-08 16.51.13.png

タイプでDB Cluster Parameter Groupを選択して作成します。
スクリーンショット 2018-03-08 17.18.31.png

パラメータグループの編集

作成したパラメータグループから編集します。
スクリーンショット 2018-03-08 17.21.51.png

今回は以下のパラメータをutf8mb4に変更しました。
character_set_client
character_set_connection
character_set_database
character_set_results
character_set_server

DB クラスターのパラメータグループを変更する

クラスターメニューからクラスターの変更を選択します。
スクリーンショット 2018-03-08 17.26.01.png

DBクラスターのパラメータグループを上記で作成したパラメータグループにしてクラスターの変更します。
スクリーンショット 2018-03-08 17.33.23.png

私の場合、開発中の環境でしたので、すぐに適用を選択し、念のためインスタンスの再起動を行いました(再起動は必要ないかもしれないです)。

変更の確認

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と同じように扱えています。

46
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
46
27