python连接sql报错
raise errors.NotSupportedError(
mysql.connector.errors.NotSupportedError: Authentication plugin caching_sha2_password' is not supported
Connection=mysql.connector.connect(host='localhost',
port='3306',
user='root',
password='112358',
auth_plugin='mysql_native_password')
已经在前面修改了auth_plugin=mysql_native_password 改为旧插件,为啥仍然报错?
不写这个行不行auth_plugin=mysql_native_password
这个错误信息表示您尝试使用不兼容的认证插件来连接MySQL服务器。在MySQL 8.0及更高版本中,默认的认证插件是caching_sha2_password
,而您的代码中指定的mysql_native_password
插件不再支持。
要解决这个问题,您需要更新代码以使用与MySQL服务器兼容的认证插件。您可以尝试以下方法之一:
caching_sha2_password
插件:connection = mysql.connector.connect(
host='localhost',
port='3306',
user='root',
password='112358',
auth_plugin='caching_sha2_password'
)
请注意,此方法需要MySQL服务器已配置为使用caching_sha2_password
插件。
mysql_native_password
插件:您可以按照以下步骤配置MySQL服务器以使用mysql_native_password
插件:
my.cnf
或my.ini
)。[mysqld]
auth_plugin=mysql_native_password
然后,您可以在Python代码中使用以下连接参数:
connection = mysql.connector.connect(
host='localhost',
port='3306',
user='root',
password='112358',
auth_plugin='mysql_native_password'
)
请注意,修改MySQL服务器配置需要适当的权限,并且可能需要对MySQL服务器的其他配置进行更改。
【相关推荐】