首页 >数据库 >mysql教程 >为什么我的 Python MySQL 连接失败并显示'不支持身份验证插件'caching_sha2_password'”?

为什么我的 Python MySQL 连接失败并显示'不支持身份验证插件'caching_sha2_password'”?

Linda Hamilton
Linda Hamilton原创
2024-12-05 15:29:10286浏览

Why Does My Python MySQL Connection Fail with

由于身份验证插件不受支持而无法连接到 MySQL

在尝试使用 Python 连接器建立与 MySQL 服务器的连接时,您可能会遇到错误“不支持身份验证插件‘caching_sha2_password’。”当客户端或服务器不支持指定的身份验证插件时,可能会出现此错误。

根本原因:

在此特定实例中,错误的根本原因用于创建用户的身份验证插件与 Python 连接器支持的插件之间不匹配。默认情况下,连接器支持“mysql_native_password”身份验证插件,而用户“lcherukuri”是使用“caching_sha2_password”插件创建的。

解决方案:

解决对于此问题,请确保用于创建用户的身份验证插件与连接器支持的插件相匹配。在这种情况下,您可以在建立连接时指定“auth_plugin”参数,显式将其设置为“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()

附加说明:

  • 确认您使用的是正确的 Python 连接器包(例如“mysql-connector-python”)而不是过时或不兼容的版本(例如“mysql-connector”)。
  • 如果您遇到任何其他相关错误,请参阅 MySQL 文档以获取其他故障排除步骤。

以上是为什么我的 Python MySQL 连接失败并显示'不支持身份验证插件'caching_sha2_password'”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn