Maison >base de données >tutoriel mysql >Pourquoi ma connexion Python MySQL échoue-t-elle avec « Le plugin d'authentification 'caching_sha2_password' n'est pas pris en charge » ?

Pourquoi ma connexion Python MySQL échoue-t-elle avec « Le plugin d'authentification 'caching_sha2_password' n'est pas pris en charge » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-05 15:29:10288parcourir

Why Does My Python MySQL Connection Fail with

Impossible de se connecter à MySQL en raison d'un plug-in d'authentification non pris en charge

En essayant d'établir une connexion à un serveur MySQL à l'aide du connecteur Python, vous peut rencontrer l'erreur "Le plug-in d'authentification 'caching_sha2_password' n'est pas pris en charge." Cette erreur peut survenir lorsque le plugin d'authentification spécifié n'est pas pris en charge par le client ou le serveur.

Cause première :

Dans ce cas particulier, la cause première de l'erreur il y a une incompatibilité entre le plugin d'authentification utilisé pour créer l'utilisateur et le plugin supporté par le connecteur Python. Par défaut, le connecteur supporte le plugin d'authentification "mysql_native_password", alors que l'utilisateur "lcherukuri" a été créé à l'aide du plugin "caching_sha2_password".

Solution :

Pour résoudre ce problème, assurez-vous que le plugin d'authentification utilisé pour créer l'utilisateur correspond au plugin pris en charge par le connecteur. Dans ce cas, vous pouvez spécifier le paramètre "auth_plugin" lors de l'établissement de la connexion, en le définissant explicitement sur "mysql_native_password":

import mysql.connector

cnx = mysql.connector.connect(user='lcherukuri', password='password',
                              auth_plugin='mysql_native_password',
                              host='127.0.0.1',
                              database='test')
cnx.close()

Remarques supplémentaires :

  • Confirmez que vous utilisez le bon package de connecteur Python (par exemple, "mysql-connector-python") et non un package obsolète ou incompatible. version (par exemple, "mysql-connector").
  • Si vous rencontrez d'autres erreurs connexes, reportez-vous à la documentation MySQL pour des étapes de dépannage supplémentaires.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn