UbuntuでMySQLを使う際の文字コードの設定

Updated:

Ubuntu (12.04LTS)でMySQLを使う際に必要な設定についてまとめてみました。

このように、最初に1回だけ行なう設定や手順は、次に必要になった時には忘れていて、改めて調べ直すことが多いものです。

MySQLをインストールする

mysql-serverパッケージをインストールすれば、最新版のMySQL一式がインストールされます。(2013/1時点では、MySQL 5.5系です。)

$ sudo apt-get install mysql-server

MySQLの起動と停止

起動や停止といったいわゆる運用系の操作は、Ubuntuの標準的なやり方で行ないます。

# MySQLを起動する
$ sudo /etc/init.d/mysql start
 
# MySQLを停止する
$ sudo /etc/init.d/mysql stop
 
# MySQLを再起動する
$ sudo /etc/init.d/mysql restart
 
# MySQLの現在の状態を表示する
$ sudo /etc/init.d/mysql status

utf8を使うように設定する

Ubuntuでは、MySQLの設定ファイルmy.cnfは、/etc/mysql/my.cnfに置かれています。

Ubuntuでは、デフォルトではサーバの文字コードは(utf8ではなく)latin1になります。そのために、文字コードを指定せずにデータベースやテーブルを作成すると、文字コードがlatin1となり日本語(utf8)が文字化けしてしまいます。

日本語のデータを扱うならば、デフォルトの文字コードをutf8としておくとよいでしょう。それには、my.cnfに次の設定を追加します。

[mysqld]
character_set_server = utf8