📌  相关文章
📜  mysql.connector.errors.NotSupportedError:不支持身份验证插件'caching_sha2_password' - Python (1)

📅  最后修改于: 2023-12-03 15:03:07.607000             🧑  作者: Mango

MySQL.connector.errors.NotSupportedError: 不支持身份验证插件 'caching_sha2_password' - Python

当使用Python连接MySQL数据库时,有时会遇到“不支持身份验证插件 'caching_sha2_password'”这个错误,这是因为MySQL 8.0版本开始默认了使用caching_sha2_password插件进行身份验证,而旧的连接库对这种方式不支持。这种错误通常在以下代码执行时发生:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)
解决方法

可以通过以下两种方式来解决这个错误:

1. 升级MySQL连接库

更新python的MySQL库到最新版本,新版本的库已经支持使用caching_sha2_password进行身份验证。你可以使用以下命令更新:

!pip install --upgrade mysql-connector-python
2. 更改MySQL用户的身份验证方式

如果您无法升级MySQL连接库,另一种方法是更改MySQL用户的身份验证方式。您可以使用以下命令更改MySQL用户的身份验证方式:

ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

请注意,这将更改该用户的身份验证方式为mysql_native_password,这种身份验证方式已被早期版本的MySQL连接库支持。

结论

以上是解决'NotSupportedError:不支持身份验证插件'caching_sha2_password''错误的两种方法,您可以根据自己的需求选择其中一种。无论您使用哪种方法,都应该解决这个常见的连接问题。