接続
(Windowsで)PHP4からMySQL 5.0へ繋ぎにいこうとすると
mysql_connect():
Client does not support authentication protocol requested by server;
consider upgrading MySQL client in ファイルパス on line 行数
というエラーが出る。
MySQLのツールからは接続できるからユーザー名やパスワードが間違っていることはなさそう。
ということで、
いろ
いろ
と
探してみる。
どうやらMySQL 4.1からパスワード処理が変わっていて古いクライアント(ここではPHP4)は接続できないらしい。
なのでMySQL 5.0が旧パスワード処理で動くように my.ini の [mysqld] に old-passwords を追加。
インストール時にrootユーザーを新パスワード処理で設定しているから、旧処理用のパスワードを上書き。
(他にもユーザーを登録していたらそれも)
// ユーザー情報があるデータベースをアクティブにする
USE データベース名
// パスワードの設定
UPDATE user
SET password = OLD_PASSWORD('パスワード')
WHERE host = 'ホスト名' AND user = 'ユーザー名';
FLUSH PRIVILEGES;
ふむ、繋がった。
PHP5だとMySQL用のパスワード処理も新しくなってるのかなぁ。
|