web-dev-qa-db-ja.com

MySQLNonTransientConnectionException:データベースサーバーへの接続を作成できませんでした。再接続を3回試みました。あきらめる

データベースへの接続に問題があります。知らない場所に変更する必要がある設定があると思います。ここにいくつかの本当に基本的なコードがあります:

public static void main(String[] args)
{
    try
    {
        Connection con = DriverManager.getConnection("jdbc:mysql://IP:3306/TABLENAME?autoReconnect=true","USERNAME", "PASSWORD");
        con.close();
    }

    catch(Exception e)
    {
        e.printStackTrace();
    }
}

明らかにログイン情報で。そして、それはこのエラーを引き起こします:

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.

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

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Caused by: Java.net.ConnectException: Connection refused

私は同じ問題について約10の異なる投稿を調べましたが、それらの解決策を試しましたが、それでも機能しませんでした。

7
Diet Cookiez

この問題は、MySQLサービスが実行されておらず、mysqlデータベースに接続しようとしているときに発生します。

Windowsでこれを解決するには、

  • スタート>>「services」と入力して開きます。

  • MySQLサービスを見つけます。おそらくMySQLxxという名前です。 xxがバージョンです。
    例えば。 MySQL56、MySQL57など

  • サービスを開始し、データベースへの接続を試みます。

1
Lucky

Mysqlの最大接続を増やし、

SET GLOBAL max_connections = 1500;  

それでもエラーが発生する場合は、クエリの応答に時間がかかりすぎる可能性があります。

その場合、jdbc接続の作成中に試行回数を増やしてください。

&maxReconnects=XX 
0
Hemant Thorat

テーブル名の代わりにデータベース名を使用する必要があります

0
Rahul Bachhav