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.
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.
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
Vous devez utiliser le nom de la base de données au lieu du nom de la table