1

基本的なAndroidアプリからMySQLサーバーにリモート接続しようとしています。'localhost'を使用してサーバーに問題なく接続できますが、任意のホストをサーバーに接続する必要もあります(簡単にするために、今のところ)。

phpMyAdminには次の2人のユーザーがいます。

User    Host       Password  Global privileges  Grant
root    %           Yes      ALL PRIVILEGES      Yes    
root    localhost   Yes      ALL PRIVILEGES      Yes

データベースに接続するための私の変数は次のとおりです。

/*
* All database connection variables
*/

define('DB_USER', "root"); // db user
define('DB_PASSWORD', "myPass"); // db password (mention your db password here)
define('DB_DATABASE', "mainData"); // database name
define('DB_SERVER', ''); // db server
?>

my.cnfも編集しました。MAMPPROを使用しています。私はこの行を変更しました:

bind-address = 0.0.0.0

また、MAMPPROの[ローカルアクセスのみを許可する]オプションのチェックを外しました。

サーバーを再起動しましたが、ローカルホスト以外のホストから接続できません。いくつかの電話にAndroidアプリケーションをインストールしていますが、ローカルホスト上のデータベースにしか接続できません。

私はフォーラムを見回しましたが、別の解決策を見つけることができませんでした。どんな助けや提案も大歓迎です。

4

2 に答える 2

1

クライアントがポート3306にアクセスするのではなく、PHPを呼び出して、そのスクリプトでMySQLにアクセスするのはどうでしょうか。

于 2012-11-12T06:49:19.820 に答える
1

ファイアウォールが db サーバーへの接続をブロックしているかどうかを確認する最も簡単な方法は、. ワークステーションを使用し、ポート 3306 に telnet を使用してみてください。これにより、アプリまたはネットワークのどこに問題があるかがわかります。

MAMPサーバーで確認するもう1つのことは、ポートが実際に0.0.0.0:3306または127.0.0.1:3306で開かれているかどうかです。

試すnetstat -an | find "3306"

于 2012-11-12T07:07:23.857 に答える