MySQLのインストール&詳細設定

MySQLのインストール

# yum install mysql-server

文字エンコードをUTF8(postgresqlと統一)するため、my.cnfに追記します。

# vi /etc/my.cnf
[mysql]
default-character-set = utf8

[client]
default-character-set = utf8

自動起動設定

# chkconfig mysqld on

サービス起動

# service mysqld start

起動確認

# mysql test
mysql> show databases;
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| mysql               |
| test                |
+---------------------+
3 row in set (0.00 sec)

と、表示されればOK.

2009/02/18 追記

日本語入力の文字化け解消

phpMyAdminから日本語入力すると????となってしまった。fedora9のCUIからMySQLに接続し、日本語入力したが、やっぱり????ってなった。

いろいろインターネットで調べると、文字コードの統一が甘かったらしい。utf8で統一したいので、設定を変更することにした。

まずはMySQLに接続して現在の文字コードがどうなっているのか確認

# mysql -u ユーザ名 -p パスワード
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     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

「character_set_database」の値が「latin1」になっていることを確認。一旦MySQLは終了。

次はMySQLの文字コードをUTF8に変更するため、my.cnfファイルの編集。

# /etc/my.cnf

[mysqld]の欄に以下を追記。

default-character-set=utf8
skip-character-set-client-handshake

再度MySQLに接続。変更したいDB名に対して以下のコマンドを実行。

mysql> alter database DB名 character set utf8;
Query OK, 1 row affected (0.01 sec)

以上ができたら、もう一度文字コードを確認。

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」に変更できたのでOK.

著者:bouya Imamura