質問: お世話になります。 お世話になります。 ○phpでmysql 接続テスト ○環境 ・サーバー ホスト名:linux.nikoniko.com(仮名) os:centos 5.5 php: 5.3.3 mysql: 5.1.49 ・クライアント os:windows7(pro) 各ツール:xampp 1.7.3 eclipse ide for php developers:1.2.2.20100216-1730 ○行いたいこと phpでdb接続のテストを行っています。 php用にmysqlのユーザーを作成し、クライアントからphpでdb接続できるか確認のテストです。 ○行ったこと 以下sql文で grant all privileges on *.* to centos@linux.nikoniko.com identified by 'centos' with grant option mysqlのユーザーcentosを作成しました。 作成した「centos」のユーザーでphpmyadmin とサーバー上のコマンドで「centos」でログインは出来たのですが 以下のphpコードでホスト名とユーザーを指定し接続を試みると以下のエラーで接続できません。 ・phpコード ・実行エラー warning: mysql_connect() [function.mysql-connect]: access denied for user 'centos'@'192.168.1.10' (using password: yes) in c:\xampp\htdocs\php_lesson\mysql_connect\dbconnect.php on line 3 上記phpコードでユーザー名を「root」にすると接続はできます。 新たにmysqlのユーザーを作成(ここではcentos)して上記phpコードで接続できるようにするにはどうすればいいのでしょうか。 宜しくお願いします。
回答: こんにちは。 phpからmysqlに接続するときに、同じマシンで動いているので、 $mysql_con = mysql_connect("linux.nikoniko.com:3306","centos","centos"); ではなく、 $mysql_con = mysql_connect("localhost:3306","centos","centos"); となりますね。 という事は、 grant all privileges on *.* to centos@linux.nikoniko.com identified by 'centos' with grant option だけでは不十分だという事がわかると思います・・・。 centos@localhost を作るか、面倒臭かったら、 centos@% にしないと駄目でしょう・・・。