- - PR -
mysql Client API version
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-10-27 13:49
現在以下の構成で稼動中です。
os:RHEE3 apache:2.0.46 php:4.3.11 mysql:4.1.3-beta そして mysqlを 4.1.21 にバージョンアップしたいと思っています。 os:RHEE3 apache:2.0.46 php:4.3.11 mysql:4.1.21 インストールして実行すると php で mysql に接続するところでエラーが発生します。 /usr/local/lib/php/DB/mysql.php(237):mysql_pconnect(): Link to server lost, unable to reconnect /usr/local/lib/php/DB/mysql.php(237):mysql_pconnect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client php -i で確認すると以下のバージョンでした。 Client API version => 3.23.49 upgrade すればと思って以下を入れて php を再構築しました。 MySQL-client-standard-4.1.21-0.rhel3.i386.rpm しかしphp -i で確認するとやはり以下のバージョンでした。 Client API version => 3.23.49 mysqlを 4.1.21 にバージョンアップしたいのですが、 1.Client API version を上げれば解決するのでしょうか? 2.Client API version を上げるためには何を入れればいいのでしょうか? どなたかご教授ください。 よろしくお願いいたします。 | ||||||||
|
投稿日時: 2006-10-30 00:34
PHPでの開発はやったことが無いですが。
稼動中の環境もMySQLサイトの対処方法をしていると思われるのですが http://dev.mysql.com/doc/refman/4.1/ja/old-client.html | ||||||||
|
投稿日時: 2006-10-30 09:02
おはようございます.
mysql 4.1.3-beta はどのように導入されたのでしょうか? その後の mysql 4.1.21 はさらにどのように導入されたのでしょうか? RHEL3 ならもともと含まれているのは mysql 3.23.58-1 のようですし, 「どのように導入したのか?」がわからないと適切な回答も付かないと思います. 以上,ご参考までに. | ||||||||
|
投稿日時: 2006-10-30 15:53
狂様>
はい。 このページも確認しましたがOLD_PASSWORDの問題じゃない気がして。 kaz様> 申し訳ありません。 ご指摘ありがとうございます。 >mysql 4.1.3-beta はどのように導入されたのでしょうか? mysql 3.23.58-1を削除してソースから入れました。 >「どのように導入したのか?」がわからないと適切な回答も付かないと思います. まずRHEL3に入ってる mysql は rpm で削除しました。 その後、ソースからmysql 4.1.3-betaを入れました。 この時点で OLD_PASSWORD の対応をして apache2.0.46+mysql4.1.3+php4.3.11 は動きました。 このあと mysql4.1.21をソースから入れ、php も再コンパイルしましたが apache2.0.46+mysql4.1.21+php4.3.11 は動きませんでした。 mysql 単体では起動してもちろんコマンドからは(mysql -u 〜)動作確認できていますが、apache+php 経由だとエラーが発生します。 ■その他情報 # rpm -qa | grep -i mysql perl-DBD-MySQL-2.1021-3 libdbi-dbd-mysql-0.6.5-5 qt-MySQL-3.1.2-13.4 MySQL-shared-compat-4.1.21-1.rhel3 ■mysql コンパイル時の configure オプション ./configure --with-charset=ujis --with-extra-charsets=all --prefix=/usr/local/mysql ■php -i の情報 mysql MySQL Support => enabled Active Persistent Links => 0 Active Links => 0 Client API version => 3.23.49 MYSQL_MODULE_TYPE => builtin MYSQL_SOCKET => /var/lib/mysql/mysql.sock MYSQL_INCLUDE => MYSQL_LIBS => [ メッセージ編集済み 編集者: かほ 編集日時 2006-10-30 18:20 ] | ||||||||
|
投稿日時: 2006-10-31 08:36
この問題です。 なぜ、稼動中の環境構築でOLD_PASSWORDの対応をしているのですか? 意味がわからないようでしたら、上司の方に相談してください。 | ||||||||
|
投稿日時: 2006-10-31 11:06
module_typeがbuiltinとなっていますが、phpについてくるmysqlのlibraryを使用するつもりでしょうか? 想像なのですが、phpのconfigureで--with-mysql[=DIR]のDIRを指定してないのでは?
なので、--with-mysql=/usr/local/mysqlとしてphpを再構築してみてはどうでしょうか? [ メッセージ編集済み 編集者: Console 編集日時 2006-10-31 11:07 ] | ||||||||
|
投稿日時: 2006-11-01 14:01
Console様>
>なので、--with-mysql=/usr/local/mysqlとしてphpを再構築してみてはどうでしょうか? 再度 configure したら以下のエラーが発生しました。 /usr/local/src/php-4.3.11/ext/mysql/php_mysql.c:1202: undefined reference to `mysql_drop_db' collect2: ld returned 1 exit status make: *** [sapi/cli/php] エラー 1 このエラー回避方法を調査してみます。 ありがとうございました。 狂様> ■現環境 mysql:4.1.3-beta Client API version => 3.23.49 OLD_PASSWORD の対応をして繋がりました。 ■新環境 mysql:4.1.21 Client API version => 3.23.49 OLD_PASSWORD の対応をしても繋がりませんでした。 同じ mysql 4.1 系でClient API versionも同じなのに何か違いがあるのでしょうか? 上司も意味がわからないと言ってました。。。 | ||||||||
1
