mysqlサーバー移動

mojaviでコンテンツを作っていたサーバーを、WWW+MySQLの2台構成からWWWサーバーの中にMySQLもいれて1台に減らしたときにはまったのでメモ書き

MySQLは4.0.24だったが、公式から4.0はリンク削除されているので4.0.27を見つけてきたのでそれをインストール
元々の/etc/my.cnfはこんな感じ

# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
datadir = /data/db
pid_file = /data/var/pid/mysql.pid
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
myisam_sort_buffer_size = 8M
default-character-set=ujis
log = /data/mysql.log
#err-log = /var/log/mysql/mysql.err

log-bin = /data/db/db.mysql-bin

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

それで元のDBをぶち込み、関係するPHPをすべてlocalhostに変えてブラウザから確認すると

Fatal error: Call to undefined method MDB_Error::tableinfo() in /home/www/domain_name/pear/MDB/QueryTool/Query.php on line 1509

とでて、前に進まず。
どうも、Mojaviの仕様からか、DBがlocalhostの場合は
/var/run/mysqld/mysqld.sock
にしなければいけないらしく、/etc/my.cnfでsocketだけ変更

[client]
socket = /var/run/mysqld/mysqld.sock

[mysqld]
socket = /var/run/mysqld/mysqld.sock

再起動すると無事動きました。



MySQL4.0は以下のURLならリンクは外れてますがダウンロードは可能っぽい・・・
http://downloads.mysql.com/archives/mysql-4.0/mysql-4.0.20.tar.gz
http://downloads.mysql.com/archives/mysql-4.0/mysql-4.0.24.tar.gz
http://downloads.mysql.com/archives/mysql-4.0/mysql-4.0.27.tar.gz
参考までに