Méthode d'authentification inconnue lors d'une connexion MySQL à distance
Lors d'une tentative de connexion à distance à un serveur MySQL à partir d'une machine locale, une « méthode d'authentification inconnue "Une erreur peut se produire. Cette erreur indique généralement une incompatibilité entre les formats de hachage de mot de passe utilisés par les serveurs MySQL locaux et distants.
Cause :
PHP 5.3 et les versions supérieures utilisent la bibliothèque mysqlnd, ce qui nécessite l'utilisation du format de mot de passe de 41 octets de MySQL 4.1. Cependant, si le serveur MySQL distant utilise l'ancien format de mot de passe de 16 octets, la connexion échouera avec l'erreur « Méthode d'authentification inconnue ».
Solution :
Pour résoudre ce problème, vous pouvez :
Exemple de code :
L'extrait de code suivant montre comment gérer l'erreur d'authentification :
try { $online_dbh = new PDO($dsn, 'myusername', 'mypassword', $options); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Congratulations!"; } catch (PDOException $e) { if ($e->getCode() === 2054) { // Handle the "unknown authentication method" error } else { // Handle other errors } }
En implémentant l'une de ces solutions, vous devriez pouvoir vous connecter à distance sur le serveur MySQL sans rencontrer l'erreur "Méthode d'authentification inconnue".
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!