share facebook facebook twitter menu hatena pocket slack

2011.03.09 WED

RDSのcharacter_set_*をutf8に変更

鈴木 宏康

WRITTEN BY 鈴木 宏康

今回は、RDSのcharcter_setをutf8に変更してみます。

まず初めに"AWS Management Console"で、下記のように"DB Parameter Group"を作成しておきます。

尚、デフォルトの状態は下記となり、"character_set_*"は設定されていません。

パラメータの指定は”AWS Management Console”ではできないため、
Amazon RDS Command Line Toolkitをダウンロードして行います。

次に、”DB Parameter Group”の確認は下記コマンドで行います。
(Windows環境で実施)

> rds-describe-db-parameter-groups ^
? -I IIIIIIII ^
? -S SSSSSSSS ^
? --region ap-northeast-1
--------
DBPARAMETERGROUP suz-lab mysql5.5 for suz-lab

さらに、パラメータの指定は下記コマンドで行います。
(Windows環境で実施)

> rds-modify-db-parameter-group suz-lab ^
? -I IIIIIIII ^
? -S SSSSSSSS ^
? --region ap-northeast-1 ^
? --parameters "name=character_set_client, value=utf8, method=immediate"

実行してみたところ、何故か、複数パラメータを指定したら最後のパラメータしか反映されなかったので、
下記を一つずつ指定しました。

character_set_client
character_set_connection
character_set_database
character_set_filesystem
character_set_results
character_set_server

そして再度、”AWS Management Console”で確認すると、
“character_set_*”が以下のように”utf8″になっていることが確認できます。

そして、この”DB Parameter Group”(suz-lab)を既存のRDSインスタンスに
下記のように割り当てます。
(念のため”Apply Immediately”にもチェックしておきます)

さらにRDSのリブートも行い、適当なサーバからRDSに入り、
下記コマンドを実行すると、utf8に設定されていることが確認できます。

> show variables like "character_set_%";
character_set_client | utf8 |
character_set_connection | utf8 |
character_set_database | utf8 |
character_set_filesystem | utf8 |
character_set_results | utf8 |
character_set_server | utf8 |
character_set_system | utf8 |

ただし、mysqlコマンドを実行したサーバの”my.cnf”は、
下記のようになっています。
——–【my.cnf】——–

...
[mysql]
default-character-set=utf8

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。