sql >> データベース >  >> RDS >> Mysql

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信リンク障害

    これはラップされた例外であり、あまり興味深いものではありません。それは根本的な原因です 根本的な原因について実際に私たちに何かを教えてくれる例外の。スタックトレースをもう少し見てください。 SQLException: Connection refusedに直面する可能性は非常に高いです。 またはSQLException: Connection timed out

    これがあなたの場合にも当てはまる場合、考えられるすべての原因は次のとおりです。

    1. JDBCURLのIPアドレスまたはホスト名が間違っています。
    2. JDBCURLのホスト名はローカルDNSサーバーによって認識されません。
    3. JDBCURLにポート番号がないか間違っています。
    4. DBサーバーがダウンしています。
    5. DBサーバーはTCP/IP接続を受け入れません。
    6. JavaとDBの間にある何かが、接続をブロックしています。ファイアウォールまたはプロキシ。

    どちらか一方を解決するには、次のアドバイスに従ってください。

    1. pingで確認してテストします 。
    2. DNSを更新するか、代わりにJDBCURLでIPアドレスを使用してください。
    3. my.cnfに基づいて確認してください MySQLDBの。
    4. 開始します。
    5. mysqldが--skip-networkingなしで開始されているかどうかを確認します オプション。
    6. ファイアウォールを無効にするか、ファイアウォール/プロキシを構成してポートを許可/転送します。

    ちなみに(実際の問​​題とは関係ありませんが)、必ずしもすべてのにJDBCドライバーをロードする必要はありません。 getConnection() 電話。起動時に1回だけで十分です。



    1. MicrosoftAccessテンプレートを使用する利点

    2. MySQLで列の名前を変更します

    3. SQLServerの固有の制約に関する洞察

    4. MySQLでテーブルをコピーする方法