Python 认证插件';缓存密码';不支持
我正在尝试使用python连接器连接到MySQL服务器。我用身份验证插件mysql\u native\u password创建了一个新用户Python 认证插件';缓存密码';不支持,python,mysql,Python,Mysql,我正在尝试使用python连接器连接到MySQL服务器。我用身份验证插件mysql\u native\u password创建了一个新用户lcherukuri 但是我弄错了 mysql.connector.errors.NotSupportedError:不支持身份验证插件“缓存\u sha2\u密码” 有人能帮我吗 import mysql.connector cnx = mysql.connector.connect(user='lcherukuri', password='passwor
lcherukuri
但是我弄错了
mysql.connector.errors.NotSupportedError:不支持身份验证插件“缓存\u sha2\u密码”
有人能帮我吗
import mysql.connector
cnx = mysql.connector.connect(user='lcherukuri', password='password',
host='127.0.0.1',
database='test')
cnx.close()
每
在MySQL 8.0中,caching\u sha2\u password
是默认的身份验证插件,而不是MySQL\u native\u password
您使用的是mysql\u native\u密码
,它不再是默认密码。假设您正在使用,则需要在实例化连接对象时指定
cnx = mysql.connector.connect(user='lcherukuri', password='password',
host='127.0.0.1', database='test',
auth_plugin='mysql_native_password')
从这些文件中:
connect()
方法支持可用于强制使用特定插件的auth\u plugin
参数。例如,如果服务器默认配置为使用sha256\u密码
,并且您希望连接到使用mysql\u native\u密码
进行身份验证的帐户,请使用SSL连接或指定auth\u plugin='mysql\u native\u password'
我也遇到了同样的问题,传递
auth\u plugin='mysql\u native\u password'
不起作用,因为我不小心安装了mysql connector
,而不是mysql connector python
(通过pip3)。把这个放在这里以防万一会有帮助 这个问题已经在这里得到了回答,这个解决方案很有效
请尝试以下命令:
pip install mysql-connector-python
您可以进入设置->项目->项目解释器,在这里安装最新版本的mysql连接器python包。在我的例子中,是mysql连接器python 8.0.15。我也遇到了同样的问题。 我的问题是,我不小心安装了错误的连接器版本。 从文件系统中删除当前安装的版本(我的路径如下所示:C:\Program Files\Python36\Lib\site packages),然后执行
“pip安装mysql连接器python”。
这应该可以解决您的问题以上解决方案对我都不起作用。我尝试过,但非常沮丧,直到我观看了以下视频:
pip卸载mysql连接器
在某些计算机上工作,但在其他计算机上可能不工作
我做了以下工作:
mysql连接器导致问题。
pip卸载mysql连接器
以下内容可能不需要,但我已完全卸下了两个接头pip卸载mysql连接器python
重新安装mysql conenct python连接器pip安装mysql连接器python
修改Mysql加密
将用户'lcherukuri'@'localhost'用'password'标识为mysql_native_密码代码>我有同样的问题,但我的解决方案不同,因为这不完全有效
我在GitHub论坛上找到了这个-复制并粘贴到你的终端。您不必更改密码;它可以是完全相同的
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '{NewPassword}';
我试图解决这个错误,最后安装了PyMySQL而不是mysql库
而且工作正常
谢谢。如果您正在寻找以下错误的解决方案
错误:由于环境错误[WinError 5]访问,无法安装程序包
s被拒绝:“D:\softwares\spider\Lib\site packages\libmysql.dll”
考虑使用<代码>用户< /代码>选项或检查权限。
解决方案:
如果发现访问被拒绝错误,应添加--user
pip install --user mysql-connector-python
将此命令粘贴到cmd并解决您的问题以获得更持久的解决方案,而无需检查代码并修改任何需要修改的内容:
根据,最简单的修复方法是将以下内容添加到MySQL d文件->重新启动MySQL服务器
这对我有用
如果您的MySQL安装必须服务于8.0之前的客户端,并且在升级到MySQL 8.0或更高版本后遇到兼容性问题,那么解决这些问题并恢复8.0之前兼容性的最简单方法是重新配置服务器,以恢复到以前的默认身份验证插件(MySQL\u本机\u密码)。例如,在服务器选项文件中使用以下行:
[mysqld]
#add the following file to your MySQLd file
default_authentication_plugin=mysql_native_password
请使用命令提示符安装下面的命令
pip install mysql-connector-python
我有一个几乎相同的错误:
连接MySQL时出错:不支持身份验证插件“缓存\u sha2\u密码”
我的解决方案很简单:
我的数据库用户名/密码凭据不正确。这个错误并不能说明问题,所以我想我会分享这个,以防其他人遇到这个问题。我卸载了mysql连接器(我安装了w3schools教程中的以下教程),并安装了mysql连接器python。成功了
我连续两天都面临着同样的错误,最后我找到了解决办法。我使用pip list
检查了所有已安装的连接器,并卸载了所有连接器。就我而言,它们是:
mysql连接器
mysql连接器python
mysql连接器python rf
使用pip-uninstall-mysql-connector
卸载了它们,最后从下载并安装了mysql-connector-python
,运行良好
使用下面的命令安装mysql连接器
pip安装mysql连接器python rf
使用命令设置权限
ALTER USER'root'@'localhost'由mysql\u native\u密码标识
“非常强的密码”;
同花顺特权代码>
使用python命令连接到mysql数据库
mydb=mysql.connector.connect(
host=“localhost”,
user=“root”,
passwd=“非常强的密码”,
auth\u plugin='mysql\u native\u password')
我也犯了类似的错误
File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\site-packages\mysql\connector\authentication.py", line 191, in get_auth_plugin
"Authentication plugin '{0}' is not supported".format(plugin_name))
mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_password' is not supported
您可能已经在中安装了mysql连接器
pip3 install mysql-connector-python
import mysql.connector
mydb = mysql.connector.connect(
host="localhost", #hostname
user="Harish", # the user who has privilege to the db
passwd="Harish96", #password for user
database="Factdb", #database name
auth_plugin = 'mysql_native_password',
)