"com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException : Impossible de créer une connexion au serveur de base de données" Dépannage
Ce message d'erreur indique un problème pour établir une connexion à un serveur de base de données MySQL. Le code Java que vous avez fourni utilise une version obsolète de MySQL Connector/J, qui peut ne pas être compatible avec MySQL 8.0.
Pour résoudre ce problème, effectuez une mise à niveau vers MySQL Connector/J 5.1.46 ou 8.0.11 (ou une version plus récente). Voici le code révisé :
import com.mysql.cj.jdbc.Driver;
public class Main {
public static void main(String[] args) {
try {
Driver sqlDriver = new Driver();
DriverManager.registerDriver(sqlDriver);
Connection sqlConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/?user=root", "root", "root");
System.out.println("Connection established successfully");
sqlConnection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Copier après la connexion
Causes de ce problème
-
Problèmes de compatibilité : Les anciennes versions de MySQL Connector/J peuvent ne prend pas entièrement en charge les versions plus récentes des serveurs MySQL, ce qui entraîne des problèmes de connexion.
-
Configuration incorrecte : Vérifiez que votre serveur MySQL s'exécute sur le port spécifié (3306 dans le code) et que vous êtes fournir les informations d'identification correctes pour la connexion à la base de données.
-
Problèmes de pare-feu ou de réseau : Assurez-vous que votre pare-feu ne bloque pas la connexion et que votre réseau autorise les connexions au serveur MySQL.
Conseils supplémentaires
-
Vérifiez la version du serveur MySQL : Exécutez SHOW VARIABLES LIKE 'version' ; dans la ligne de commande MySQL pour confirmer la version de votre serveur MySQL.
-
Vérifiez la compatibilité MySQL Connector/J : Visitez le site Web MySQL pour déterminer la version Connector/J compatible pour votre serveur MySQL.
-
Recherchez les erreurs dans la trace de la pile : La trace de la pile fournit souvent plus de détails sur la cause sous-jacente de l'échec de la connexion. Recherchez des erreurs ou des messages spécifiques pouvant indiquer un problème spécifique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!