2

MacにMNPP (XAMPP の Nginx バージョン) をすべてセットアップしましたが、localhost 以外のデータベースに接続する方法がわかりません。接続したい EC2 インスタンスに MySQL データベースがあります。

私は Codeigniter/PHP を使用しており、次の構成が機能します。

$db['default']['hostname'] = "localhost"; 
$db['default']['password'] = "";

以下は機能しません

$db['default']['hostname'] = "mysite.com"; //the name of my EC2 instance
$db['default']['password'] = "my_password";

上記の構成と EC2 SSH キー ( ~/.ssh/mysite.pem) を使用して、MySQL GUI の Sequel Pro を使用してこの EC2 データベースに SSH 接続できますが、ローカル ホスト上の PHP アプリからプログラムで実行することはできません。

これを機能させるには、my.cnf ファイルまたは他の場所で何か変更する必要がありますか?

4

1 に答える 1

2

ホストが TCP 3306 でリッスンしていることを確認してください。

また、データベースで付与される新しいホストのユーザーの権限を設定する必要があります。

リモート データベースで、次を実行します。

GRANT ALL ON foo.* TO username@'your-ip-address-here' IDENTIFIED BY 'PASSWORD';

localhost のパブリック IP に置き換えyour-ip-address-here、username と PASSWORD をそれぞれの値に置き換えます。

これにより、アプリケーションが MySQL 経由でリモート ホストと通信できるようになります。これらのアプリケーションは、SSH トンネリングを直接サポートしていません。

または、SSH トンネルを作成してlocalhost:3307、たとえば をにブリッジremotehost:3306し、アプリケーションで localhost を引き続き使用できますが、mysql ポートを に変更し3307ます。

于 2012-09-13T16:26:53.080 に答える