サーバーYのphpスクリプトからサーバーXのMySQLデータベースにアクセスしようとしています。どちらもルートアクセス権を持つ専用のcPanelサーバーです。これが私が試したことです:
- サーバーXIで、サーバーYのIPアドレスをWHMの「追加のMySQLアクセスホスト」機能に配置します。
- サーバーXIで、接続しようとしているデータベースをホストしているアカウントのcPanelにログインし、[リモートデータベースアクセスホスト]ページでサーバーYのIPを入力しました。
- サーバーXIで、ファイアウォール内のサーバーYのIPをホワイトリストに登録し、着信/発信ポート3306TCPを開きました。
- サーバーXIで、サーバーYのIPアドレスを/etc/hosts.allowファイルに追加しました
私が試したこれらすべてのことにもかかわらず、サーバーYでスクリプトを実行しようとすると、タイムアウトメッセージが表示されます。
Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 110
これは私のPHPコードです:
$host = '123.456.789.0'; //server X's IP
$db = 'user_test';
$user = 'user_test';
$pass = 'password';
if(mysql_connect($host, $user, $pass)){
mysql_select_db($db);
}
else die(mysql_error());
ありがとう!