2008/02/20

phpMyAdminとMySQLの互換性の問題

Client does not support authentication protocol requested by server; consider upgrading MySQL client

というエラー

→http://dev.mysql.com/doc/refman/4.1/ja/old-client.html
MySQL4.1から採用されたパスワードハッシュアルゴリズムに基づく認証プロトコルと、それより前のバージョン(4.0以前)の
認証プロトコルが異なり、互換性がないために起こるエラー。

・phpMyAdminからログインできない
・コマンドラインではログインできる
のは、おそらくphp-mysql側で古い認証プロトコルを用いていたため・・。
MySQL側では新しい認証プロトコルを使っているため、
そのままログインできますよー・・・と。

=解決法1=
MySQLに設定するパスワードを、直接
mysql> set password for あいでぃー = OLD_PASSWORD('ぱすわーど');
=解決法2=

/etc/my.cnf

を、

...
[mysqld]
old_passwords=1
...

こうすることで、古い認証プロトコルを用いて認証が行われるため、問題なく認証が通る。

互換性の問題って難しい。

0 件のコメント: