首页 > 解决方案 > 为什么 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' 请告诉我该怎么办?

标签: pythonmysql

解决方案


我大约 2 个月前遇到了这个问题,我发现 mysql-connector 需要更新。

Pip install mysql-connector-python 

在您的口译员中。关闭您的项目并在 pip 安装后重新启动。然后再次运行您的连接代码。它现在应该可以正常工作了。在您的输入代码中,仍然使用

 import mysql.connector. 

连接数据库时,仍然使用:

 cnx = mysql.connector.connect(your parameters as usual)

推荐阅读