GNU/Linux >> Linux の 問題 >  >> Linux

MySQLJavaデータベース接続通信の例外

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
データベースサーバーはTCP/IP接続を受け入れていません

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の記事を確認してください。


Linux
  1. MySQLデータベースを最適化する

  2. MySQLデータベースのキャッシュを改善する

  3. スクリプト化されたMySQLデータベースのバックアップ

  1. MySQLデータベースにリモートで接続する

  2. MySQLデータベースをインポートする

  3. MySQL データベース全体の複製

  1. MySQLデプロイメントFAQ

  2. MySQLデータベースをコピーする方法

  3. MySQLWorkbenchを使用してMySQLでデータベースを作成する方法