VICS FACTORY

WORKSTATION     SERVER     NETWORK     WINDOWS     LINUX

 

HOME

 

My Server

まず始めに

Linuxの操作

Fedora13

SSHD

MySQL

MySQLコマンド

Apache+PHP

VSFTPD

NTPD

Postfix

Samba

WebDAV

SSLクライアント認証

設定変更

 

PC Support

スパイウェア対策
(Spybot)

バックアップのススメ
(RealSync)

 

VIC'S FACTORY

vic@vicsfactory.com

 

VIC PRESS

(WordPressでブログ)

 

MySQL5の導入

※MySQL5、Apache2、PHP5をRPMで導入する場合、この順番でインストールしないとPHPからMySQLへの接続がうまくいかなかったり

  するようです。 またMySQLは下記によりデフォルト文字コードを設定します。

 

MySQLインストール

[root@vics1 ~]# yum -y install mysql*

 

MySQL自動起動設定

[root@vics1 ~]# chkconfig mysqld on

 

MySQL起動

[root@vics1 ~]# /etc/rc.d/init.d/mysqld start

 

MySQL初期設定

[root@vics1 ~]# mysql_secure_installation

1. Enter current password for root (enter for none): ← [Enter]

2. Set root password? [Y/n] ← 「Enter] rootのパスワード設定
  New Password:        ← パスワード入力
  Re-enter new password:    ← パスワード再入力

3. Remove anonymous users? [Y/n]  ← 「Enter] 匿名ユーザ削除

4. Disallow root login remotely? [Y/n]  ← [Enter]  リモートからのrootログイン禁止

5. Remove test database and access to it? [Y/n] ← [Enter] テスト用データベースを削除

6. Reload privilege tables now? [Y/n]  ← [Enter]  上記設定反映

 

MySQL4.1以前のクライアントから接続する場合、以下を追記。

[root@vics1 ~]# vi /etc/my.cnf

[mysqld]

old-passwords ← 追記

 

※この設定をする前にすでにユーザを登録していた場合は、以下によりパスワードを再設定。

[root@vics1 ~]# mysql -u ユーザー名 -p

[root@vics1 ~]# パスワード入力

mysql> use mysql

mysql> update user set password=old_password('パスワード')

-> where host='ホスト名' and user='ユーザー名';

mysql> flush privileges;

 

 

※重要!
MySQL5は文字コードがデフォルトで「Latin1」になっているため、日本語環境では文字化けが問題になる可能性があります。そこでMySQLのデフォルト文字コードを 「UTF-8」または「UJIS」に変更し、さらにもしサーバーとクライアントの文字コードが違っていても、勝手に内部変換処理をしないように設定します。

※通常は「UTF-8」に設定すれば文字化け問題はOKなはずですが、私の場合は 以前から「UJIS」で格納されたデータベースをMyODBC経由でWindows機のMS-ACCESS上で操作する システムを組んでいたため「UJIS」に設定しています。(ODBCドライバは「MyODBC 3.51.06 conv_ujis」を使用して「ujis⇔sjis」変換させています)

※MyODBC 3.51.06を使ってMySQL5に接続する場合はMySQLの設定が必要になります。[こちら]をご覧ください。

※文字コードを「UJIS」に設定した場合、この処理をしても 「character_set_system」は「UTF-8」のままなので「mysqldump」で データのバックアップをとる際はオプションで「--default-character-set=ujis」を追加すること。

「UTF-8」でデータベースを作成し、MyODBC経由でWindows機のMS-ACCESS上で操作する場合は、ODBCドライバに「mysql-connector-odbc-3.51.27-win32.msi」を使用し、MyODBCの文字セット を「sjis」ではなく「CP932」にして、AdvancedタブのFlags1の「Always handle binary function results as character data」にチェックを入れます。

MySQLの現在の文字コードを確認(
「character_set_system」以外全て「latin1」になっている)

[root@vics1 ~]# mysql -u root -p ← MySQLサーバーに接続

Enter password:      ← 上記「MySQL初期設定」で指定したrootのパスワードを入力(表示はされません)

 

mysql >                 ← 接続に成功するとMySQLサーバーのコマンド待ち状態「mysql>」になります

 

mysql> show variables like "char%";

Variable_name              Value

-----------------------------------

character_set_client       latin1

character_set_connection   latin1

character_set_database     latin1

character_set_filesystem   binary

character_set_results      latin1

character_set_server       latin1

character_set_system       utf8

character_sets_dir         /usr/share/mysql/charsets/

 

mysql> \q          ← MySQLサーバーから切断

[root@vics1 ~]#

my.cnfを編集([mysqld]セクションに下記を追記)

1行目:デフォルト文字コードをujisまたはUTF-8に設定。

2行目:さらにサーバーとクライアントの文字コードが違っていても内部変換しないように設定。

[root@vics1 ~]# vi /etc/my.cnf

 

(ujisに設定する場合)

[mysqld]

default-character-set=ujis            ←追記

skip-character-set-client-handshake   ←追記

 

(UTF-8に設定する場合)

[mysqld]

default-character-set=utf8            ←追記

skip-character-set-client-handshake   ←追記

MySQLを再起動

[root@vics1 ~]# /etc/rc.d/init.d/mysqld restart

再度文字コードを確認(ujisに設定した場合、character_set_system以外 がujisに統一されている)

[root@vics1 ~]# mysql -u root -p ← MySQLサーバーに接続

Enter password:      ← MySQLのrootのパスワードを入力(表示はされません)

 

mysql>

mysql> show variables like "char%";

Variable_name              Value

-----------------------------------

character_set_client       ujis

character_set_connection   ujis

character_set_database     ujis

character_set_filesystem   binary

character_set_results      ujis

character_set_server       ujis

character_set_system       utf8

character_sets_dir         /usr/share/mysql/charsets/

 

mysql> \q          ← MySQLサーバーから切断

[root@vics1 ~]#

 

以上でMySQLのインストール〜初期設定は完了です。

あとはMySQLのユーザを登録してデータベースを作成 すれば使用可能です。

ユーザの登録方法やデータベースの作成方法等は「MySQLコマンド」のページをご覧ください。

 

 

 

このページのTOPへ

 

Copyright (C) 2001 VICS FACTORY All rights reserved.