人気コンテンツ今日: |
PHPから複数のMySQLに接続するSubmitted by sasaki on 木曜, 2008-07-24 11:43.
PHPから、MySQL4とMySQL5の両方に接続したかった。 アプリケーションAでは、MySQL4(ポート3306、/tmp/mysql.sock)へ接続する。 アプリケーションBでは、MySQL5(ポート3307、/tmp/mysql5.sock)へ接続する。 で、このように対処した。
■MySQL5へ接続するPHPプログラム<?php
▼MySQL5ではなく、MySQL4へ接続してしまう。 $link = mysql_connect( 'localhost:/tmp/mysql5.sock', 'root', 'password'); ▼接続時にエラー表示される。 $link = mysql_connect( 'localhost:3307', 'root', 'password'); $link = mysql_connect( '127.0.0.1:3307', 'root', 'password'); ▼表示されるエラー Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in /export/home/web/public_html/test.php on line 5接続できませんでした: Client does not support authentication protocol requested by server; consider upgrading MySQL client
■対応策consider upgrading MySQL client と言われているので、PHPそのものをアップグレードした方がよいと思われる。 インストールした順序は、 1. MySQL4 2. PHP4 3. MySQL5 なので、PHPは、MySQL4のバイナリか何かを利用してMySQL5へ接続しようとしている可能性があると思い、試してみた。 ▼MySQL5のクライアントソフトからMySQL4へ接続してみる。(上手くいく) $ /usr/local/mysql5/bin/mysql --port=3306 -u root -p ▼MySQL4のクライアントソフトからMySQL5へ接続してみる。(MySQL4へ接続されてしまう) $ /usr/local/mysql4/bin/mysql --port=3307 -u root -p
よって、PHPが新しいMySQL5のクライアントを指定するようなコンパイルをして再インストールしてあげないといけなさそう。
今は、時間がないので、今度試してみる。
|
PHPamazon広告英語お勧め教材! 英語の学校でも使っているのですが、1つのストーリーを3分で読めて、内容も面白く、もっと早く出会いたかった本です。 Apple好きで英語も勉強したいならこの一冊! ブログパーツ |