サーバー

Win7VirtualBoxのUbuntu12.04のMySQL設定

ノートPCにWebアプリ開発環境を集約する試みの第1段階「Win7(64bit)にVirtualBox4.2を利用してubuntu12.04(64bit)をインストール」の続きです。

サーバーのソフトで当面必要になるのがMySQLとApacheとPHPで、それらはサーバーのインストールで既に組み込んであるので、第2段は使い易いようにする設定の備忘録となります。

MySQLの設定

「/etc/mysql/my.ini」が設定ファイルであるが、Ubuntu12.04では直接このファイルを編集せず、「/etc/mysql/conf.d」ディレクトリに「xxx.cnf」のようなエクステンション名を「cnf」とした設定ファイルがあれば、それを読込んでオーバーライトするようになっている。

今回はデータファイルのディレクトリなどは変更せず次の2点のみ設定する。

  • SSH接続でmysqlを使う時のコンソールでプロンプトにDB名を表示する
  • DBデータでUTF8の日本語を扱えるようにする

インストールしたままの設定でデータを日本語入力したところ文字化けした。確認のため。

# mysql -h localhost -u root -p

でmysqlにログインしコンソールから

>status

として表示させると、Server characterset と Db Characterset が latin1 になっている。そこで上記2点の設定を「/etc/mysql/conf.d/myadd.cnf」ファイルに次のように入力して保存。

[mysqld]
character-set-server=utf8

[mysql]
prompt="\d> "

# service mysql restart

で再起動。再度SSHでmysqlにログインしてstatusを確認する。

ちょっとつまずいたので注意点。この設定をする前にcreateしたデータベースはstatusで Db characterset が latin1 のままとなり、UTF8には変換されない。なので必要であればデータベースを再createする。

MySQLのユーザー設定

開発用なので頻繁にデータベースを作成することになる。rootユーザーでそれらを利用しても良いのだろうが、気持ち悪いのでrootユーザー以外のユーザーを登録してアクセス権限を与えておく事にする。

以下はデータベースをtestとしたきのユーザー名userをrootで設定する手順。

> create database test;
Query OK, 1row ...
> grant usage on test.* to user@localhost identified by 'password';

以上、MySQLはこれで利用する事にした。