2

まず、セットアップは次のとおりです。AWS EC2 インスタンスが稼働しています。ポート 22、80、および 3306 がセキュリティ グループに追加されました

RDS DB インスタンスが稼働中です。ローカル IP が CIDR/IP 接続として追加されました。AWS アカウント ID が EC2 セキュリティ グループ接続として追加されました。

地域が違うのはちょっとおかしい。RDS は米国東部 (バージニア北部)、EC2 は米国西部 (オレゴン) です。

ローカル データベースが RDS に正常にインポートされました。私は次のようにコマンドラインを使用しました:

C:\xampp\mysql\bin>mysqldump -u root 'local database' | mysql -- host='Endpoint' --  user='user login' --password='user pwd' ' rds database'

また、MySQL Workbench を使用して、rds でデータベースに接続してクエリを実行しています。バックアップ SQL ファイル ('localhostdatabase.sql') を rds にインポートしたことはありません。

接続方法は次のとおりです(両方のオプションが機能していません。)

// $serverConnect = mysql_connect('rds endpoint','rds admin','rds pwd');
// $serverConnect = mysql_connect('EC2 elastic ip','rds admin', 'rds pwd');

http://www.realcardio.comで「デモ」ボタンをクリックすると、エラーが表示されます。

PHPファイルを構成する必要がありますか? もしそうなら、どうすればいいですか?私の Web ファイルは /var/www/html に保存されています。しかし、php 設定ファイルがどこにあるのかわかりません。

WinSCP を使用して EC2 に接続します。ここでファイルを変更する必要がある場合、RDS に接続するにはどうすればよいですか?

トラブルシューティングを行い、何でも共有します。これを起動して実行したいだけです。どんな助けにも感謝します!

DK

4

1 に答える 1

8

わかりました。ここにはいくつかの問題があるので、それらすべてを解決しようとします。

  1. パフォーマンスの低下が気に入らない限り、RDSインスタンスとEC2インスタンスは同じリージョンにある必要があります。変更は簡単ですが、起動する前に変更してください。
  2. PHPファイルには、データベースのクレデンシャルとRDSインスタンスアドレス以外は何も設定する必要はありません。リストした最初のオプションを使用する必要があります。
  3. 接続を確立できない理由は、セキュリティグループが原因である可能性があります。EC2セキュリティグループが「許可」としてRDSセキュリティグループに追加されていることを2回および3回確認します。各セキュリティグループは異なることを忘れないでください。これらの設定を確認して機能しない場合は、EC2インスタンスのIPアドレスをRDSセキュリティグループに直接追加します。
  4. 質問しなかった問題:サイトのdisplay_errorsをオフにします。ユーザーに公開したくない情報を公開します。また、「mysql_*」関数は使用しないでください。彼らは非推奨のプロセスを開始し、あなたが気孔を持っているよりも多くの穴を持っており、また多くの新しいMySQL機能を見逃しています。代わりにPDOまたはMySQLiを使用してください。
于 2012-08-02T01:11:18.677 に答える