PHPからMySQLにアクセスできない問題

このQ&Aのポイント
  • FedoraCore3の環境で、PHPからMySQLにアクセスできない問題が発生しています。
  • MySQLをバージョン4.1.10にアップデートした後、PHPからの接続にエラーが発生しています。
  • PHPのClient API versionが3.23.58のままであるため、設定の変更が必要です。
回答を見る
  • ベストアンサー

PHPからMySQLにアクセスできません。

FedoraCore3を使用しています。 ApacheはOSフルインストール時のデフォルトのver2.0.52 PHPは同じくデフォルトのver4.3.9、 MySQLはデフォルトver3.23.58からver4.1.10にアップデートしました。アップデートは端末から下の3つのrpmパッケージをアップデートしました。 rpm -Uvh MySQL-server-4.1.10-0.i386.rpm MySQL-client-4.1.10a-0.i386.rpm MySQL-devel-4.1.10a-0.i386.rpm MySQL-shared-compat-4.1.10a-0.i386.rpm 端末からMySQL4.1.10には接続できるのですが、WEB(PHP)からはエラーが返ってきます。 Access denied for user 'apache'@'localhost' (using password: NO) PHPinfoを確認したところ、MySQLのClient API versionが3.23.58のままでした。 ここの設定を変えれば動くと思うのですが、どうすればよいでしょうか? よろしくお願いします。

  • wipe
  • お礼率81% (100/122)

質問者が選んだベストアンサー

  • ベストアンサー
  • tomy06
  • ベストアンサー率25% (58/224)
回答No.1

エラーの通りです。 接続先のDBにアクセス権限をつければ解決すると思いますよ!! この場合、apacheに権限を与えれば解決すると思います

参考URL:
http://www.stackasterisk.jp/tech/dataBase/mysql01_04.jsp
wipe
質問者

お礼

早速の回答ありがとうございます。 参考URLまで教えていただき勉強になりました。 現在はユーザー名:usr、pass:password、ホスト:localhostの設定でアクセスしています。 DBにアクセス権をつけても、現象はかわりません。 しかし、ユーザー名:root、pass:なし、ホスト:localhostにすると接続できることがわかりました。 usrはMySQL4.1.10のみ、rootは4.1.10と3.23.58の両方に設定されていることから、3.23.58が動いているように考えているのですが... よろしくお願いします。

関連するQ&A

  • MySQLについて教えてください

    この間FC4をフルインストールしたのですが、 いまいちmysqlのなにが入っているのかが理解できません。 rpm -qa | grep mysqlとrpm -qa | grep MySQLのコマンドでは、出てくる結果がちがいます。 調べたい内容としましては、以下の4つが入っているのか、それとVerはいくつなのか調べたいのですが・・・。 MySQL-server MySQL-client MySQL-devel MySQL-shared-compat yum apdateとyum upgradeはしました(関係あるのかよくわかってないのですが)。 どなたかご教授願います。

  • MySQL5.0.11のインストールでcoreutils依存のエラー

    VineLinux 2.6に MySQL5.0.11をインストールしようとしましたが coreutils依存のエラーが発生した。 ・uname -aの結果 Linux localhost.localdomain 2.4.22-0vl2.10 #1 2004年 1月 9日 金曜日 23:08:04 EST i686 unknown ・ダウンロードしたRPM http://dev.mysql.com/downloads/mysql/5.0.html Linux x86 RPM downloads MySQL-bench-5.0.11-0.i386.rpm MySQL-client-5.0.11-0.i386.rpm MySQL-devel-5.0.11-0.i386.rpm MySQL-embedded-5.0.11-0.i386.rpm MySQL-server-5.0.11-0.i386.rpm MySQL-shared-5.0.11-0.i386.rpm MySQL-shared-compat-5.0.11-0.i386.rpm ・MySQL-shared-5.0.11-0.i386.rpmでcoreutilsの依存エラーが発生する。 rpm -Uvh MySQL-shared-5.0.11-0.i386.rpmとしたところ、 エラー: 依存性の欠如: coreutilsは MySQL-server-5.0.11-0 に必要とされています coreutilsとは何でしょうか? これは rpmなどのでインストールできるのでしょうか? 入手先も知りたいです。

    • ベストアンサー
    • MySQL
  • MySQL 4.0系を探しています。

    MySQL 4.0系(4.0.27)のソースファイル、もしくは、下記のRPMファイルを探しております。 MySQL-shared-compat-4.0.27-0 MySQL-bench-4.0.27-0 MySQL-server-4.0.27-0 MySQL-devel-4.0.27-0 MySQL-embedded-4.0.27-0 MySQL-client-4.0.27-0 ※インストールしたいOSは、FedoraCore2です。 いろいろとGoogleなどで検索したのですが、見つかりませんでした。 どうしても入手したいため、質問させていただきました。 どうぞ宜しくお願いいたします。

    • ベストアンサー
    • MySQL
  • 【CentOS3.7】MySQL4.1.22、php-mysql4.3.2のインストールについて

    Linux及び、MySQL初心者です。 ソフトウェア開発会社で勤務して1年半ほどになりますが、 以前テスト用に使用していたサーバの内容を、別機に移行する作業を まかされることになりました。 PHPとMySQLが使用できるWEBサーバです。 元サーバに CentOS3.7、Apache2.0.46、PHP4.3.2、MySQL4.1.21 がインストールされていることを確認。 移行後サーバにCentOS3.7をインストールし、 その際にそれぞれのソフトウェアもデフォルトでインストールしたところ、 MySQLだけ「3.23.58-16」と古いバージョンになっていました。 そこで yum remove mysqlとし、 ・mysql-bench-3.23.58-16.RHEL3.1 ・mod_auth_mysql-20030510-2.ent ・libdbi-dbd-mysql-0.6.5-5 ・mysql-devel-3.23.58-16.RHEL3.1 ・php-mysql-4.3.2-39.ent ・mysql-3.23.58-16.RHEL3.1 ・mysql-server-3.23.58.16.RHEL3.1 を削除。その後、mysql-4.1.22.tar.gzをダウンロードし、 ソースからインストールしました。 しかしこれでは、php-myadminが消えてしまうため、 yum install php-mysqlを実行したところ、 ・mysql-3.23.58-16.RHEL3.1 も一緒にインストールされます。 mysqlがダブってインストールされてしまうということでしょうか。 (ちなみに、元サーバで「rpm -qa | grep mysql」とすると、  ・php-mysql-4.3.2.26.ent  と表示されます。  php-mysqlだけrpmインストールされているということですよね?) どのようにインストールしたら、この問題を解決できるでしょうか。 (既に2日ほどこの問題で詰まっています) 要点がまとまっていない質問で申し訳ありませんが、 回答をお願いできませんでしょうか。 足りない情報がありましたら、追記しますので、よろしくお願いいたします。

  • ApacheMySQLPHPについてRPMアップデートしたいがRPMアップデートの仕様がわからない

    お世話様です。 VPSを利用しています。 現在、CentOS4.4、Apache2.0.52、MySQL4.1.20、PHP4.3.9が入っています。 PHP4のサポートが近々打ち切られることもあり、PHPを最新にし、 ついでに、ApacheとMySQLも最新にしようとおもっております。 ですが、FreeBSDのportsからアプリをインストールしたりアップグレードした経験はあるのですが、 rpmでの経験はございません。 そこで、上記を実現させるための手順を教えていただけますでしょうか? なお、各configureオプションは原則そのまま引き継ぎ、さらに他のオプションもつけたいと思っています。 //------------------------------------------------ http://mirror.centos.org/centos/4/centosplus/i386/RPMS/ をみたところ、 Apacheは httpd-2.0.59-1.el4s1.8.el4.centos.i386.rpm MySqlは、 mysql-5.0.48-1.el4.centos.i386.rpm PHPは、 (1) php-5.1.6-1.2.1.centos.i386.rpm または、 (2)php-5.1.6-3.el4s1.8.i386.rpm & php-cli-5.1.6-3.el4s1.8.i386.rpm が最新と思いましたがあってますでしょうか? 「(1)、(2)のどちらが正しいでしょうか?」 //php-5.1.6-3.el4s1.8.i386.rpmは、centosの文字が入っていないので最新ではないのでしょうか? //また、質問させてください。 ●バージョン番号に含まれる「el4s1.8.el4」はどういう意味なのでしょうか? ●rpmでのアップグレードの場合は、 # rpm -Uvh *************.rpm であってますでしょうか? また、この場合configureオプションは引き継がれるのでしょうか? ●引き継がれるとしたら、configureオプションの関係で、 php-gd-5.1.6-3.el4s1.8.i386.rpm など他のrpmも入れる必要があるのでしょうか? その場合、5.1.6-3というバージョンも合致していないといけないのでしょうか? (でもcentosの文字が入っていなくてもかまわないのでしょうか?) ●php-mhash-5.1.6-1.el4.centos.i386.rpm は微妙にバージョンが違いますが、問題ないでしょうか? ●ApacheMySQLPHPについて、他に入れなければならないrpmがあったらファイル名で教えていただけますでしょうか? ●php5からの新機能のsoapなどを使いたいのですが、 そうすると、どのように対応すればいいのでしょうか? (configureオプションが違ってきてしまうと思いましたため) 以上、恐縮ですが、よろしくお願い申し上げます。

  • MySQLがインストールされているかわかりません

    当方、初心者です。 訳あって、古いバージョンのMySQLをインストールすることになりました。 MySQLのサイトからバージョンが5.1.68の mysql-server mysql-client mysql-devel mysql-shared をダウンロードして、 #rpm -ivh mysql-server-5.1.68-1.glibc23.x86_64.rpm #rpm -ivh mysql-client-5.1.68-1.glibc23.x86_64.rpm #rpm -ivh mysql-devel-5.1.68-1.glibc23.x86_64.rpm #rpm -ivh mysql-shared-5.1.68-1.glibc23.x86_64.rpm とコマンドをうちました。 それぞれ100%となり、エラーメッセージは出ませんでした。 その後 #rpm -qa │ grep mysql と打っても何も表示されませんでした。 /etc/init.d/にmysqlはありますが、mysqldはありません。 mysql startとうつとOKと表示され showdatabaseもできました。 これでインストールは完了しているのでしょうか? OSはCentOS5.9です。 構成管理のパッケージソフトをインストールするために 前提としてMySQLが必要と記載されていたのみなので どのMySQLをインストールすれば良いかもわかりません。 心優しい方のアドバイスをお待ちしております。

  • MySQLのserverとかshareとかclientってなんですか?

    タイトルそのままなんですが、 MySQLのserverとかshareとかclientってなんですか? 現在CentOS5.1でサーバ構築の勉強してるのですが、前にメールサーバをたてたときにdovecotをyumでインストールしたら、mysqlも自動的にインストールされていました。 その後、MySQLとSennaを組み合わせた物(http://qwik.jp/tritonn/about.html) をインストールしようと思ったのですが、既にmysqlがインストールされている場合は衝突するとのことだったのでyum でdovecotごとremoveしました。 ============================================================================= Package Arch Version Repository Size ============================================================================= Removing: mysql i386 5.0.22-2.2.el5_1.1 installed 5.5 M Removing for dependencies: dovecot i386 1.0-1.2.rc15.el5 installed 3.0 M そして、今回はrpmからインストールするのですが、 # rpm -ivh MySQL-shared-5.0.51a-tritonn.1.0.10.i386.rpm # rpm -ivh MySQL-client-5.0.51a-tritonn.1.0.10.i386.rpm # rpm -ivh MySQL-server-5.0.51a-tritonn.1.0.10.i386.rpm のようにMySQL-clientとかになってます。 前となにか違うのですが?? また、もう一度dovecot入れるときになにか問題起きるでしょうか?

  • Apache使ってphpでMySQLへアクセスが…

    Macを使っているものです. 最近phpでMySQLにアクセスしようということに取り組んでいます. しかし,apacheがよくないのかmysqlがよくないのか適切に動作してくれません. よくわからないので,手順を書いて問題を言及してみました... 何がいけないのでしょうか... --------- Apacheはデフォルトで入ってるはず・・・ apacheの設定ファイルhttpd.confのポートを8080に設定(これで競合はないはず・・・) ↓ [1]URLにhttp://localhost:8080/とうつと,Apacheのテストページではなく,It works!と出る ↓ とりあえず,Siteフォルダにphpファイルを置き,hello worldを表示.できた(じゃあ,動いてるのかな?) ↓ コマンドラインから「apachectl start」を実行「Already loaded」 じゃあ,動いてるっぽい ↓ じゃあ,DBアクセス用のphpを動作させよう!MySQL導入 ↓ 設定ファイルphp.iniのパスがおかしかったので,mysql.default_socket=/tmp/mysql.sockに変更 実際にcdで移動し,ファイルがmysql.sockがあることを確認 ↓ よーし,実行だ!http://localhost:8080/db_access.php→Not Found あるぇ?なんでだ? ↓ http://(ip直打ち):8080/db_access.php→表示! でも,ソースコード内に以下の記述をしている(簡略化して書きます) ********** $url="localhost" $link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。"); <html>接続ID:<?=$link ?></html> ********** なのに,結果は :::::::::: 接続ID: :::::::::: という風になにも表示されない(・ω・` 結果が「MySQLへの接続に失敗しました。」なら,そもそもMySQLに接続できてないんだろうけど,結果だけがかえってこないのはなんでだろう. ちなみに,$urlをip直打ちにしたらブラウザに怒られた.そりゃそうだよな. --------- という流れで今に至ります. おそらく[1]の時点が問題かと自分では思うのですが,原因がわかりません. ご助言おねがいいたします.

    • 締切済み
    • PHP
  • PHP5.2.9インストール時に、 Oracle Instant Client SDKヘッダがないと怒られる。

    PHP5.2.9からOracle10gへの接続できるようにしようとしています。 環境は、CentOS5.2にApache2.2.11をインストールしています。 oracle client下記の3つをインストールしました。 ・oracle-instantclient11.1-basic-11.1.0.7.0-1.i386.rpm ・oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm ・oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.i386.rpm PHP5.2.9をconfigure時に、下記のエラーが出ます。 checking Oracle Instant Client SDK header directory... configure: error: Oracle Instant Client SDK header files not found ./configure時のオプション ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-oci8=instantclient,/usr/lib/oracle/11.1/client/ --enable-sigchild どなたかご教示おねがいできますか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPとMySQLの連携について教えてください

    PHPからMySQLを使いたくて下記の環境を構築しました。 それぞれは正常に動作していますが、phpとmysqlの連携ができません。 PHP Version 4.3.10 MySQL Version 4.1.15 Apache 2.0.52 WindowsXP Home Edition ホスト名 localhost ユーザー名 root パスワード adminで firsttestというDBにテーブルを作成しました(DOSプロンプトから)。 そして次のコードを記述して実行すると下記のエラーが表示させます。 $conn=mysql_connect("localhost","root","admin"); // 5行目 mysql_select_db("firsttest",$conn); // 6行目 $res=mysql_query("show tables",$conn); // 7行目 --------- エラー画面----------- Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Program Files\Apache Group\Apache2\htdocs\sweetsystem\dbtest.php on line 5 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\sweetsystem\dbtest.php on line 6 Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Program Files\Apache Group\Apache2\htdocs\sweetsystem\dbtest.php on line 7 ------------------------------ MySQLを利用しないPHPプログラムは正常に動作しています。 またMySQLもDOSプロンプトからはテーブル等正常に作成できます。 初心者で先に進めずとても困っています。 解決策がありましたら教えてください。 宜しくお願いします。

    • ベストアンサー
    • PHP