株式会社ロジステック株式会社ロジステック

By logistech

MySQL5からMySQL4へのダウングレードの方法 for Debian Etch


●ダウングレードの背景
Debian Sargeをapt-get upgradeでEtchにアップグレードしたことに伴い、
MySQLのバージョンが4から5に変更なった。
その影響から(SQLの文法が変更になっている為)、ZenCartにおいて下記のエラーが発生するようになってしまった。
1054 Unknown column ‘p.products_id’ in ‘on clause’

下記URL等を参考にZenCartを修正するのも考えたが、かなりの工数であることが予想されたため断念し、結局MySQLをダウングレードすることに相成った。
http://blog.livedoor.jp/blog4taka/archives/50340118.html

●MySQLのダウングレードの手順

参考:http://mytso.net/server/debian-etch-und-mysql-41/

1.データベースのバックアップ
mysqldump -u root –password=’*****’ –opt test > /var/tmp/test.sql

2.コールドバックアップ(必須ではありません)
# /etc/init.d/mysql stop
# cd /var/lib
# tar czvf mysql5.tar.gz mysql

3.データベースを退避
# /etc/init.d/mysql stop
# cd /var/lib
# mv mysql mysql_bak

4.MySQL5を削除
# apt-get remove mysql-common
# apt-get remove libapache2-mod-php4(依存関係からこれも再インストールが必要)

5.ソースリストを編集
# vi /etc/apt/sources.list

最下行に下記行を追加し、既存のソースリストはコメントアウト
deb http://debian.mytso.net/etch/ /

6.PHPとmysql-server-4.1のインストール

apt-get update

apt-get install libapache2-mod-php4
apt-get install mysql-server-4.1 mysql-client-4.1 mysql-common-4.1 libmysqlclient14
apt-get install php4-mysql

7.データベースをリストア
mysqladmin -u root -p
mysql> select version(); ちゃんと4.1になっているかバージョンを確認
mysql> create database test;
mysql> quit

mysql -u root –password=’*****’ test < /var/tmp/test.sql 8.phpを有効にする ln -s /etc/apache2/mods-available/php4.conf /etc/apache2/mods-enabled/php4.conf ln -s /etc/apache2/mods-available/php4.load /etc/apache2/mods-enabled/php4.load 9.アパッチの再起動 /etc/init.d/apache2 restart

logistech
About logistech