Vine Linux 4でMySQL5.0
2006/10/12
これを書いている時点では、Vine4β3での動作テストした部分までです。実際のVine4正式版では若干違ってくるかもしれません。
ここでは、Vine Linux 4.0 (以下Vine4) にMySQL本家の最新版rpmをインストールし、日本語環境で動作させるところまでを目標にしています。
また、PHPからMySQL5へ接続して使えるようにするのも実現します。
Vine4では標準配布されたMySQL バージョン4.0が存在するので、MySQL4.0で問題ない人は、このメモは不用のものです。
- MySQL5.0パッケージのインストール
- MySQL5の日本語向け設定
- PHP5の利用
MySQL本家のダウンロードから「Linux x86 generic RPM (dynamically linked) downloads」の部分をダウンロードします。
必須パッケージとオプション・パッケージがありますので、最低でも必須パッケージはダウンロードします。
ここでは例として最低限、必要な次のパッケージをダウンロードします。他に必要なオプション・パッケージはご自身の判断で追加ダウンロードしてください。
- MySQL-server-5.0.26-0.glibc23.i386.rpm
- MySQL-client-5.0.26-0.glibc23.i386.rpm
この例ではMySQLのバージョンが5.0.26だったので、上記ファイル名になっていますが、別のバージョンでは別ファイル名となっています。
MySQLで必要となるパッケージをインストールしておきます。
$ su
# apt-get update
# apt-get install perl-DBI
ダウンロードしたファイルをインストールします。
# rpm -Uvh MySQL-server-5.0.26-0.glibc23.i386.rpm \
> MySQL-client-5.0.26-0.glibc23.i386.rpm
MySQL本家が配布しているrpmパッケージは、英語圏で使えるようにビルドされています。そこで、設定ファイルを使って日本語を初期文字コードにしましょう。
my.cnfをコピーします。/usr/share/mysql/にmy.cnfの雛型があるので、その中から選択してコピーします。
この例では、比較的低スペックなサーバでもそのまま使えるmy-medium.cnfを使うことにします。
# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
/etc/my.cnfを編集します。
日本語向けの最低限の設定は、以下となります。
|
[mysqld]
# クライアント文字セットをサーバ文字セットと同じになるように
# 設定される。
# サーバ側をujisにすると、クライアントは「set names ujis」を
# 実行した直後と同じような動作をする。
skip-character-set-client-handshake
# サーバ文字コードセットの指定
# ujis, sjis, utf8などを指定できる
default-character-set=ujis
|
MySQLサーバの再起動をします。
# /etc/init.d/mysql restart
Vine4でPHP+MySQL5を利用するには、いくつか方法があります。
- /etc/my.cnfで[mysqld]の部分に「old_passwords」と記述し、その後にMySQLのパスワードを設定する。これでMySQL4クライアントから接続可能なショート・パスワードとなる。
MySQLのアカウントを作るとき、パスワードを次のような感じで設定する。これでショート・パスワードとなる。
set password for username@localhost=old_password('パスワード文字列');
- MySQL5 (MySQL-develを含む) をインストールした後、PHPをリビルドする。これだとPHPでロング・パスワードも利用できる。
上記手法で、PHPをリビルドする方式を選んだなら、次のようにします。
-
ソースを取得します。
$ apt-get source php5
リビルドします。
$ cd ~/rpm/SPECS
$ rpmbuild -ba php5.spec
ここで「エラー: ビルド依存性の失敗:」などと言われたら、足らないパッケージを「apt-get install パッケージ名」としてインストールしてください。
リビルドが完了したらインストールします。
$ cd ~/rpm/RPMS/i386
$ su
# rpm -Uvh パッケージ名
最低限、php5, php5-pear, php5-apache2, php5-mysqlぐらいのパッケージはインストールする必要があります。
ただし、データ構造の互換性はありませんので、MySQL4からMySQL5にデータを引き継ぐ場合は、mysqldumpで吐き出しておいて、MySQL5でインポートする必要はあります。
|