Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
25
Help us understand the problem. What is going on with this article?
@ein-san

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

More than 3 years have passed since last update.

環境

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

25
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
25
Help us understand the problem. What is going on with this article?