不支持身份验证插件“caching_sha2_password"

Authentication plugin #39;caching_sha2_password#39; is not supported(不支持身份验证插件“caching_sha2_password)
本文介绍了不支持身份验证插件“caching_sha2_password"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 python 连接器连接到 MySQL 服务器.我使用身份验证插件 mysql_native_password 创建了一个新用户 lcherukuri.

I am trying to connect to a MySQL server with python connector. I created a new user lcherukuri with the authentication plugin mysql_native_password.

但是我得到了错误

mysql.connector.errors.NotSupportedError: 不支持认证插件'caching_sha2_password'

mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_password' is not supported

有人可以帮我吗?

import mysql.connector

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

推荐答案

Per 缓存 SHA-2 可插入身份验证

在 MySQL 8.0 中,caching_sha2_password 是默认的身份验证插件,而不是 mysql_native_password.

In MySQL 8.0, caching_sha2_password is the default authentication plugin rather than mysql_native_password.

您正在使用 mysql_native_password,这不再是默认设置.假设您使用的是适用于您的版本的正确连接器,您需要指定 实例化时的auth_plugin 参数你的连接对象

You're using mysql_native_password, which is no longer the default. Assuming you're using the correct connector for your version you need to specify the auth_plugin argument when instantiating your connection object

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

来自那些相同的文档:

connect() 方法支持可用于强制使用特定插件的 auth_plugin 参数.例如,如果服务器默认配置为使用 sha256_password 并且您想要连接到使用 mysql_native_password 进行身份验证的帐户,请使用 SSL 连接或指定 auth_plugin='mysql_native_password'.

The connect() method supports an auth_plugin argument that can be used to force use of a particular plugin. For example, if the server is configured to use sha256_password by default and you want to connect to an account that authenticates using mysql_native_password, either connect using SSL or specify auth_plugin='mysql_native_password'.

这篇关于不支持身份验证插件“caching_sha2_password"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)