0

PHPとMySQLを使用してデータベース接続を行っていますが、問題は次のとおりです。

データベースリモートサーバーに接続しようとしているときのローカルマシンのWebアプリケーションプロジェクトはすべて正常に動作します

mysql_connect("x.xx.xx.x","username","password") or die(mysql_error());

mysqlデータベースを持つリモートサーバーにWebアプリケーションをデプロイし、そのWebアプリケーションを使用しようとすると、データベースエラー接続が得られません!! データベース接続を次のように変更した場合:

mysql_connect("localhost","username","password") or die(mysql_error());

IPアドレスを使用する代わりにlocalhost(127.0.0.1)を使用しても問題なく動作します。/etc/my.confファイルをチェックしてbind-address = 192.168.15.15を追加し、mysqlサーバーを再起動してもデータベースに接続
できません!! !

4

2 に答える 2

1

2 つのことを確認する必要があります。まず、ポート3306が接続用に開いていることを確認します。次に、リモートで接続している場合は、ワイルドカード ユーザーを作成する必要があります (ホストはパーセント記号になります%)。表を見てmysql.userください。接続しようとしているユーザーに がある場合、リモートで接続することHostlocalhostできません。

新しいユーザーを作成するには:

CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';

そのユーザーにアクセス許可を与えてください。問題のデータベースにのみお勧めします。

GRANT ALL PRIVILEGES ON your_database.* TO 'newuser'@'%';

最後に、権限を再読み込みします。

FLUSH PRIVILEGES;
于 2012-11-20T03:07:15.027 に答える
0

問題は私がSElinuxを有効にしていたので、コンマでhttpdネットワークを有効にしました:

setsebool -P httpd_can_network_connect=1
于 2012-11-20T08:49:31.927 に答える