mysqldumpで取っておいたデータ(backupfile.sql)をデータベースにリストアしました。
データベースの一部をリストアなので、まずデータベースを作ってその後リストアします。
$mysql -u kinoko -p
Enter password:
mysql> create database kinokoDB;
Query OK, 1 row affected
mysql> exit;
失敗するので調べてみるとリストアはmysqldumpではなくmysqlを使うとのこと。
$mysql -u kinoko -p KDB < backupfile.sql
でリストアは成功。
日本語が化けているような気がするので文字コードセットを確認すると、
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
#characer_set_clientはクライアントが送信する文字コード。
#character_set_resultsはサーバが送信する文字コード。
character_set_serverがlatin1なのでutf8に変更します。が、my.cnfに変更を加えて再起動したものの起動せず。。
$vi /etc/my.cnf
[client]
default-character-set = utf8
[mysqld]
default-character-set = utf8
default-set-server = utf8
$ mysqld_safe --user=root &
エラーログを見てみると、
$less /var/log/mysql/XXXX.err
130310 18:32:11 [ERROR] /usr/sbin/mysqld: unknown variable 'default-character-set=utf8'
130310 18:32:11 [ERROR] Aborting
※mysqld_safeの起動時にも、my.cnfにもエラーログファイル名を指定していないため、XXXXはマシン名になってます。
unknown variable?
調べるとdefault-character-setはMySQL5.5からは使えないらしく、代わりに、character-set-serverを使うとのこと。
$vi /etc/my.cnf
[mysqld]
character-ser-server=utf8
書き替えたら無事に起動したので文字コードを確認すると、
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
全部utf8になりました。