MySQLの設定

UTF-8をデフォルトにする

mysqld、mysql、mysqldumpセクションにdefault-character-set=utf8を追加する

[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8
skip-character-set-client-handshake

[mysqldump]
default-character-set=utf8

確認

# mysql
mysql> status
Connection id:          6
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.0.38-Ubuntu_0ubuntu1-log Ubuntu 7.04 distribution
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /var/run/mysqld/mysqld.sock
Uptime:                 2 min 11 sec

Threads: 1  Questions: 146  Slow queries: 0  Opens: 133  Flush tables: 1  Open tables: 18  Queries per second avg: 1.115
--------------

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)

rootのパスワードを設定する

# mysql
> SET PASSWORD FOR root@localhost=password('パスワード');
> FLUSH PRIVILEGES

バックアップ用にコンソールからはパスワードなしでログインできるようにする

$HOME/.my.cnfに設定を書く

[client]
password="パスワード"

パーミッションを600にする

# chmod 600 $HOME/.my.cnf