• ベストアンサー
  • すぐに回答を!

centos5 phpでmysqlへ接続できない

  • 質問No.6549304
  • 閲覧数1600
  • ありがとう数5
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 69% (38/55)

使用OSはCentos5でvps上でMysqlのインストールを行いました。

1.yum -y install mysql-server mysql-devel

2.vi /etc/my.cnf
文字コード指定

3./etc/rc.d/init.d/mysqld start
Mysqlを初期化

4.mysql_secure_installration
rootパスワードを設定
anonymousユーザを削除・・・ここで下記のようなエラーになって失敗します。
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
.....Failed!

仕方がなかったので、
5.mysql -u root -p
password:*******

でログインし、testデータベースとanonymousユーザを削除しました。

その後、wordpressをインストールし、wp-config.phpに作成したデータベースとユーザ(パスワードも)を指定して、ブラウザからアクセスしましたが、接続できませんとのエラーになってしまいます。

これは、@以下のホストがlocalhostだからでしょうか?

sshでVPSサーバーにログインしているので、@以下のホストを接続元(つまり、自宅のPCのホスト名もしくはグローバルIP)を指定する必要があるのでしょうか?

/var/log/mysqld.logにもそれらしきログは残っていません。

どなたかアドバイス頂けないでしょうか?

[root@HostName]#mysql -V
mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686)

[root@HostName]#nmap localhost

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2011-02-25 13:51 JST
Interesting ports on localhost.localdomain (127.0.0.1):
Not shown: 1675 closed ports
PORT STATE SERVICE
53/tcp open domain
80/tcp open http
443/tcp open https
953/tcp open rndc
3306/tcp open mysql

Nmap finished: 1 IP address (1 host up) scanned in 1.183 seconds

[root@HostName]#rpm -qa|grep mysql
mysql-server-5.0.77-4.el5_5.4
php-mysql-5.1.6-27.el5_5.3
mysql-devel-5.0.77-4.el5_5.4
mysql-5.0.77-4.el5_5.4

自宅pc----sshログイン----vpsサーバー
※自宅pcは、fedora14です。

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

  • 回答No.5
  • ベストアンサー

ベストアンサー率 47% (436/922)

こんばんは。

>プログラム、DBともにリモート先のサーバー上で稼働しています。
ですか・・・。

それじゃ、プログラム対MySQLはローカル同士ですね・・・。
SSHからコンソールでMySQLに接続できているのなら、疑うのはプログラムしかないかと・・・。
補足コメント
apple_v_apple

お礼率 69% (38/55)

taka451213さん

こんばんは。
お世話になっております。

先ほど、下記に記載した方法を試してみました。そうしましたら、無事に接続できました。

なぜですかね、よくわかりません。笑


とりあえず、解決しましたこと嬉しく思っています。

この度は、ご回答頂きましてありがとうございました。
投稿日時:2011/02/26 00:16
お礼コメント
apple_v_apple

お礼率 69% (38/55)

taka451213さん

こんばんは。
お世話になっております。

再度、ご回答頂きありがとうございます。

>プログラム対MySQLはローカル同士ですね・・・。
そうなりますね。
だとしましたら、#1さんの回答にもあります、php側に問題がありそうなのですが...。

なんとなくですが。

先ほどから、ググって調査していたのですが、/etc/my.cnfに記述されているmysqlソケットのパスをphp.iniでも記述する必要があるっていう記事を見つけました。
具体的には、php.iniのデフォルトでは、mysql.default_socketのパラメータがnull値なんですが、そこを明示的に示すと上手くいくようなんですよ。

しばし外出中ですので、帰宅次第ちょっとそちらを試してみます。
投稿日時:2011/02/25 21:35

その他の回答 (全4件)

  • 回答No.1

ベストアンサー率 22% (102/446)

php.ini側でMySQL接続のライブラリは有効にしているのか?
お礼コメント
apple_v_apple

お礼率 69% (38/55)

oktubureroさん

ご回答ありがとうございます。

具体的に、ライブラリを有効にするパラメータはphp.iniのどこでしょうか?

教えて頂ければ幸いです。
投稿日時:2011/02/25 20:13
  • 回答No.2

ベストアンサー率 37% (102/275)

php-mysql入ってる?

# rpm -q php-mysql

入って無ければインストール。

# yum -y install php-mysql
  • 回答No.3

ベストアンサー率 37% (102/275)

あっ、申し訳ない。
php-mysqlは入ってるんですね。

あとは、phpinfoで確認してみるとか。
<?php
phpinfo();
?>
お礼コメント
apple_v_apple

お礼率 69% (38/55)

wingstarさん

ご回答頂きましてありがとうございます。
上記をindex.phpとして作成し、ブラウザで表示してみましたが正常に表示されます。mysqlのモジュールも追加されていることが確認できました。

引き続き、よろしくお願い致します。
投稿日時:2011/02/25 20:05
  • 回答No.4

ベストアンサー率 47% (436/922)

こんばんは。

プログラムはローカル?
接続先DBがリモート?
ちょっと環境がわかりませんが、DB側のポートは開いてるんですかね?
(iptables)
お礼コメント
apple_v_apple

お礼率 69% (38/55)

iptablesは、動かしていません。
selinuxも入っていないので、ポートでブロックされてはいないと思います。

プログラム、DBともにリモート先のサーバー上で稼働しています。

php.ini上でもポート番号でデフォルト指定になっていたので、他のポートを使用しているとは考えにくいと判断したのですが、よくわかりません。

引き続き、よろしくお願い致します。
投稿日時:2011/02/25 20:12
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ