だから、あなたは
を持っていますcom.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信リンク障害
java.net.ConnectException:接続が拒否されました
この回答 から引用しています これには、ステップバイステップのMySQL + JDBCチュートリアルも含まれています:
SQLException: Connection refused
が発生した場合 またはConnection timed out
またはMySQL固有のCommunicationsException: Communications link failure
、それはDBにまったく到達できないことを意味します。これには、次の1つ以上の原因が考えられます。
- JDBCURLのIPアドレスまたはホスト名が間違っています。
- JDBCURLのホスト名はローカルDNSサーバーによって認識されません。
- JDBCURLにポート番号がないか間違っています。
- DBサーバーがダウンしています。
- DBサーバーはTCP/IP接続を受け入れません。
- DBサーバーの接続が不足しています。
- JavaとDBの間にある何かが、接続をブロックしています。ファイアウォールまたはプロキシ。
どちらか一方を解決するには、次のアドバイスに従ってください。
ping
で確認してテストします 。- DNSを更新するか、代わりにJDBCURLでIPアドレスを使用してください。
my.cnf
に基づいて確認してください MySQLDBの。- DBを起動します。
- mysqldが
--skip-networking option
なしで開始されているかどうかを確認します 。- DBを再起動し、それに応じてコードを修正して、
finally
で接続を閉じます。 。- ファイアウォールを無効にするか、ファイアウォール/プロキシを構成してポートを許可/転送します。
関連項目:
- サーブレットベースのアプリケーションでJDBCデータベース/データソースに接続するにはどうすればよいですか?
- マルチスレッドシステムで静的java.sql.Connectionインスタンスを使用しても安全ですか?