2010-11-25 21 views
2

ネットワーク経由でMySQLデータベースに接続しようとしています。私はMySQLをインストールしており、サービスはデフォルトのポートで実行されています。 jarファイルにSQLコネクターをインストールして、サーバー・マシンにjava JDKを追加しました。私がしようとするIPアドレス(例:192.168.1.45):で、ネットワーク経由で接続したときにネットワーク経由でJDBCを使用してMySQLに接続

private String dbUrl = "jdbc:mysql://localhost/DatabaseName"; 
private String dbClass = "com.mysql.jdbc.Driver"; 

しかし:私は、コードを使用して、私のローカル・データベースに接続することができる午前

private String dbUrl = "jdbc:mysql://192.168.1.45/DatabaseName"; 
private String dbClass = "com.mysql.jdbc.Driver"; 

接続エラーが発生しました:

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

誰でもこの問題が分かっていますか?別の住所を追加する必要がありますか? アドレスにデフォルトポートを追加しましたが、動作させることができません。

ありがとうございました。

+0

http://forums.mysql.com/read.php?39,199085,204628#msg-204628 – zengr

+0

ファイアウォール関連の可能性がありますか? – Qwerky

答えて

2
  1. チェックは、パラメータポートのmy.cnfの[mysqldを]の設定は、バインドアドレス、ソケットは、これらの問題を引き起こしていないことを確認します。
  2. ファイル/ etc/hosts、/etc/hosts.denyを調べて、すべてが正常であることを確認します。
  3. ファイアウォールのアプリケーションを確認する
  4. mysqldのソケットが適切な権限を持っていることを確認してください。
  5. mysqlデータベース(ユーザテーブル)内のセキュリティ設定がリモートホストからのアクセスを許可していることを確認してください。
  6. localhost 3306、127.0.0.1 3306、およびマシンが設定されている他のIPアドレス(ifconfigを使用して調べる)にtelnetでOKを確認してください。
3

デフォルトでは、MySQLはリモートアクセスを許可せず、ローカルアクセスのみを許可します。全体の手順hereを参照してください

bind-address = 192.168.1.45 // Your Server IP address 
# skip-networking // This should be commented . 

: あなたはで(Linuxの場合)ご/etc/mysql/my.cnfの設定を変更する必要があります。

0

問題を絞り込むMySQL Workbenchまたはmysqlクライアントを使用してサーバの設定をテストできます。それはあなたのサーバーや他のいくつかのバイナリジャンクのバージョン番号を教えてあげましょう

telnet host 3306

:また、サーバーのあった場合にだけ見ると便利な場合があります。あなたのホストが聞いていることを知るには十分です。

関連する問題