192.168.0.4をAPP+MySQL(Master)
192.168.0.5をMySQL(Slave)
にしようと思い、
単純に
PHPで
192.168.0.5のMySQLに接続、SELECTしてみた。
エラーが出てしまった。
packet 6 bytes shorter than expected
mysqlnd cannot connect to MySQL 4.1+ using old authentication
などと書いてある。
ググってみたら、userテーブルの中のPasswordカラムが16バイトのままで
古い。
userテーブルを確認すると、passwordカラムのデータ型はchar(41)、
パスワードが16バイトでした。
SELECT password(‘test’);
で確認すると、16バイト。
MySQL4.1以降では、
http://dev.mysql.com/doc/refman/4.1/ja/password-hashing.html にあるとおり。
my.cnfにある
[mysqld]
old-passwords
を
#old-passwords
にして、再起動。
そしたら、正常につながった。
約5日間も悩んだ。
192.168.0.4にあるPHPから192.168.0.5のMySQLをSELECTできた。