python - 为什么 python 不连接到 mysql.connector
问题描述
我的操作系统是 ubuntu 20.04,要将 python 连接到 mysql,我使用以下代码:
import mysql.connector
cnx = mysql.connector.connect(user = 'root', password = 'My password', host = '127.0.0.1', database = 'mydb')
cnx.close()
但是发生了这个错误:
Authentication plugin 'caching_sha2_password' is not supported
然后我将代码更改为:
import mysql.connector
cnx = mysql.connector.connect(user = 'root', password = 'My password', host = '127.0.0.1', database = 'mydb', auth_plugin='mysql_native_password')
cnx.close()
并发生此错误:
Access denied for user 'root'@'localhost'
请告诉我该怎么办?
解决方案
我大约 2 个月前遇到了这个问题,我发现 mysql-connector 需要更新。
Pip install mysql-connector-python
在您的口译员中。关闭您的项目并在 pip 安装后重新启动。然后再次运行您的连接代码。它现在应该可以正常工作了。在您的输入代码中,仍然使用
import mysql.connector.
连接数据库时,仍然使用:
cnx = mysql.connector.connect(your parameters as usual)
推荐阅读
- c - 使用 AVX2 将 2 个 32 位数字相乘并取前 32 位
- c++ - C++:我正在解决一个问题,突然我注意到编译的代码没有返回语句
- css - 将背景颜色设置为透明 CSS
- java - 在随机索引处插入项目时,ArrayList vs LinkedList?
- c# - TapGestureRecognizer 不再在 xamarin.forms 中工作
- asp.net-mvc - ASP.NET MVC 需要 DRY 类似的控制器动作
- javascript - Jenkins-量角器集成-Centos7
- angular - 如何为 FormGroup 设置名称?
- python - 如何清理字符串列表
- regex - 期望脚本:从 $argv 构造正则表达式字符串