以前ColdFusion MXでMySQL 4.1を使うにはで、ColdFusion MXからMySQL 4.1に接続できない問題を、ColdFusion MXに新しいMySQL用のJDBCドライバを入れることで解決する方法を示しましたが、今回はMySQL 4.1のOLD_PASSWORD()関数を使って回避する方法です。
MySQL 4.1からはPASSWORD()関数で作られるパスワードハッシュの長さが長くなったため、古いクライアントからでは接続できなくなりました。
これを回避するには、クライアントのドライバを新しく入れ替えるほかに、OLD_PASSWORD()関数で今まで通りのハッシュの長さでパスワードを登録するという方法もあります。ただし、パスワードの強度がMySQL 4.0以前相当に落ちるので、その点は注意が必要です。
既存のユーザーのパスワードをOLD_PASSWORD()関数で変更するSQLは以下の通り。
UPDATE user SET Password = OLD_PASSWORD('パスワード') WHERE User = 'ユーザ名';
FLUSH PRIVILEGES;
こうすることで、ColdFusion MXに変更を加えることなく、ColdFusion MXからMySQL 4.1に接続できるようになります。
ColdFusion で MySQL4.1 を使う
ColdFusion MX で MySQL 4.1 を使うにはちょっとしたコツがいりますが、この2 つの方法をわかりやすく解説しているこのページがいいんではない…