[MySQL]文字コードの設定を変更してutf8で統一する

mysql_logo

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

MySQL の文字コードの調整

最近AWSやAzureなどのクラウドサービスが普及しています。その中で久しぶりにウェブサーバー内にデータベースをインストールして、直接 MySQL の設定ファイルにて文字コードを調整したので手順を記載します。

 

MySQL5.7 の設定変更

準備した環境としては、
開発環境:AWS
OS:Ubuntu 18.04
データベース:MySQL 5.7
となります。

初期の文字コードは下記の通り、文字コードが latin1 のものがあるため utf8 に変更していきます。

 

Ubuntu18.04 の仕様なのかは分かりませんが、alternatives によって my.cnf が管理されています。

 

my.cnf の構成が変わって、my.cnf に設定を直接記述しない形式に変更されています。設定する項目によって、「/etc/mysql/conf.d/」と「/etc/mysql/mysql.conf.d/」にそれぞれ分けて設定ファイルを設置、または編集する仕様みたいです。

 

[mysqld]に1行追加するだけなので、「/etc/mysql/mysql.conf.d/mysqld.cnf」の末尾に追加します。
追加する内容

[mysqld] …
#末尾に追加するだけ
character-set-server=utf8

追加したファイルの抜粋

 

後はMySQLの再起動コマンド「service mysql restart」を実行して、文字コードを確認したところ対応完了となります。

 

さいごに

個人的にはデータベースは、AWS の RDS を利用することが多くなり、my.cnf の触り方を忘れがちです。みなさんは文字コードの調整は必ず忘れそいように十分にご注意ください。

一旦間違ったデータベースで運用すると「mysqldump」で出力、データベースの組み直し、「mysql」のリストアを行う必要があり大変面倒なので(笑)。