Java Database Connectivity(JDBC)は、データベース上のクエリやコマンドにアクセスして実行できるようにするJavaAPIです。
この記事では、com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
のトラブルシューティングを行うためのいくつかの手順について説明します。 エラー。JDBCを使用してデータベースに接続しようとすると発生します。
Communications link failure
データベースに到達できない場合、エラーが発生します。考えられる原因とその解決策は次のとおりです。
JDBCURLのIPアドレスまたはホスト名 間違っています。
ping
を使用して、ホスト名またはIPアドレスが応答できることを確認およびテストします 。
ローカルDNSサーバーはJDBCURLのホスト名を認識しません
DNSを更新するか、 JDBC URLのIPアドレスを使用します 代わりに。
JDBC URLにポート番号がないか正しくありません
IPがMySQL®データベースで適切に構成されていることを確認しますmy.cnf お気に入りのテキストエディタを使用してファイルを作成します。
my.cnfを見つけるには ファイルの場合は、次のコマンドを実行してMySQL設定を確認します。
mysql --help | grep "Default options" -A 1
それでもファイルが見つからない場合は、次のコマンドを実行してみてください。
find / -name my.cnf
デフォルトの場所を確認することもできます:
- /etc/my.cnf
- /etc/mysql/my.cnf
- /usr/etc/my.cnf
- 〜/ .my.cnf
mysqld
を確認します サービスが実行されています。 mysqld
のステータスを確認するには サービスの場合は、Linux®ディストリビューションに従って次のコマンドを実行します。
CentOS®6またはRedHat®EnterpriseLinux®(RHEL)6の場合:
service mariadb status
CentOS7以降またはRHEL7以降の場合:
systemctl status mariadb.service
Ubuntu®オペレーティングシステムの場合:
/etc/init.d/mysql status
次のコマンドを実行して、MySQLデータベースを起動します。
CentOS 6 / RHEL 6の場合:
service mariadb start
CentOS 7+ / RHEL 7+の場合:
systemctl start mariadb.service
Ubuntuオペレーティングシステムの場合:
/etc/init.d/mysql start
データベースを再起動し、接続を閉じるときにコードに問題がないかどうかを確認します。
JavaとDB間の接続が通信をブロックしています
ファイアウォールまたはプロキシを無効にします。または、ポートを許可または転送するように構成します。 CentOS 6 / RHEL 6を使用している場合は、iptablesの記事を確認してください。