MySQL4とMySQL5の共存を試みていますが、php4からMySQL5サーバに繋がりません。

どのような原因が考えられるでしょうか?

コマンドラインからは、ログインはできます。

現在、MySQL4.0とPHP4が入っていたところに、MySQL5をインストールしたところです。
コマンドラインからは、ログインできますが、簡易的に作ったmysqlにコネクトするPHPスクリプトからは、入れません。

php4を再コンパイル、インストールする必要があるのでしょうか?
php4を前回導入した時のコンパイルオプションを知る方法はあるでしょうか?

OSは、Solaris10です。

回答の条件
  • 1人2回まで
  • 登録:2007/10/30 12:34:34
  • 終了:2007/11/04 13:07:10

回答(1件)

id:chuken_kenkou No.1

chuken_kenkou回答回数722ベストアンサー獲得回数542007/10/30 16:36:12

ポイント60pt

MySQL 5.0から、パスワードの保存形式が変わっており、その影響があるようです。

MySQL5のMy.cnfまたはMy.iniの使用している方に、以下の指定を入れれば、旧パスワード形式で使用できるようです。

[mysqld-5.0]

old-passwords

FFTT : MySQL4.0系→MySQL5.0系

id:p_question

old-passwordでもうまくいきませんでした。

php4を再コンパイル&インストールし、phpのスクリプト内で、ini_setを使い以下のようにすることで解決しました。

ini_set("mysql.default_socket", '/var/mysql/mysql5.sock');

2007/10/30 23:49:39
  • id:Mook
    DB のポートはぶつかっていませんか?
  • id:p_question
    ポートは、別にしています。
    my.cnfと/etc/servicesに記載していて、mysqlを起動した時もそのポート番号を表示します。

    コマンドラインからは入れ、データベースも作れたので、問題ないと判断しています。
  • id:Mook
    PHP でポートの指定はしていますか?
    http://q.hatena.ne.jp/1184492380
  • id:p_question
    arning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in /tmp/test.php

    と出るので、クライアントの問題かと思っております。
  • id:p_question
    自己レスです。

    >php4を前回導入した時のコンパイルオプションを知る方法はあるでしょうか?

    phpinfo(); でわかりました。
  • id:Mook
    ポートに問題ないようであれば、私にはあまりアイデアがありません。
    下記ご参考までに。
    http://winofsql.jp/VA003334/install060720182639.htm

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません