web-dev-qa-db-fra.com

MySQLNonTransientConnectionException: impossible de créer une connexion au serveur de base de données. Tentative de reconnexion 3 fois. Abandonner

J'ai du mal à me connecter à ma base de données. Je pense qu'il y a un paramètre quelque part que je ne connais pas et qui doit être changé. J'ai un code vraiment basique ici:

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();
    }
}

Évidemment avec les informations de connexion. Et cela provoque cette erreur:

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

J'ai parcouru environ 10 articles différents sur le même problème et essayé leurs solutions et je n'arrivais toujours pas à le faire fonctionner.

7
Diet Cookiez

Ce problème se produit lorsque le service MySQL n'est pas en cours d'exécution et que vous essayez de vous connecter à la base de données mysql.

Pour résoudre ce problème dans Windows,

  • Démarrer >> tapez 'services' et ouvrez-le.

  • Trouvez le service MySQL. Probablement avec le nom MySQLxx. xx étant la version.
    par exemple. MySQL56, MySQL57 etc.

  • Démarrez le service et essayez maintenant de vous connecter à la base de données.

1
Lucky

Augmentez la connexion max de Mysql,

SET GLOBAL max_connections = 1500;  

Si vous obtenez toujours une erreur, les requêtes peuvent prendre trop de temps pour répondre.

Dans ce cas, augmentez la tentative lors de la création d'une connexion jdbc,

&maxReconnects=XX 
0
Hemant Thorat

Vous devez utiliser le nom de la base de données au lieu du nom de la table

0
Rahul Bachhav