mysql - MySQL没有通过python连接
问题描述
MySQL 未连接并显示错误
我通过 pip 安装 mysql.connector 包
这是代码
import mysql.connector
connection = mysql.connector.connect(host = "localhost", user = "root",passwd = "268455")
print(connection)
这是我得到的错误
D:\Python>"C:/Users/Abdul Muqeet/AppData/Local/Programs/Python/Python38/python.exe"
"d:/Python/exmaple (mySQL).py"
Traceback (most recent call last):
File "d:/Python/exmaple (mySQL).py", line 2, in <module>
connection = mysql.connector.connect(host = "localhost", user = "root",passwd = "268455")
File "C:\Users\Abdul Muqeet\AppData\Roaming\Python\Python38\site-
packages\mysql\connector\__init__.py", line 179, in connect
return MySQLConnection(*args, **kwargs)
File "C:\Users\Abdul Muqeet\AppData\Roaming\Python\Python38\site-
packages\mysql\connector\connection.py", line 95, in __init__
self.connect(**kwargs)
File "C:\Users\Abdul Muqeet\AppData\Roaming\Python\Python38\site-
packages\mysql\connector\abstracts.py", line 716, in connect
self._open_connection()
File "C:\Users\Abdul Muqeet\AppData\Roaming\Python\Python38\site-
packages\mysql\connector\connection.py", line 208, in _open_connection
self._do_auth(self._user, self._password,
File "C:\Users\Abdul Muqeet\AppData\Roaming\Python\Python38\site-
packages\mysql\connector\connection.py", line 137, in _do_auth
packet = self._protocol.make_auth(
File "C:\Users\Abdul Muqeet\AppData\Roaming\Python\Python38\site-
packages\mysql\connector\protocol.py", line 99, in make_auth
packet += self._auth_response(client_flags, username, password,
File "C:\Users\Abdul Muqeet\AppData\Roaming\Python\Python38\site-
packages\mysql\connector\protocol.py", line 58, in _auth_response
auth = get_auth_plugin(auth_plugin)(
File "C:\Users\Abdul Muqeet\AppData\Roaming\Python\Python38\site-
packages\mysql\connector\authentication.py", line 190, in get_auth_plugin
raise errors.NotSupportedError(
mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_password' is not
supported
我搜索了很多网站,我都做了同样的事情,但仍然出现错误
解决方案
您必须包含要与之连接的数据库,并且消息不能像您使用的那样。
一个例子:
def MySQLConnect(usernameStr, passwordStr, hostStr, databaseStr, conPrint = True):
#ESTABLISH THE CONNECTION WITH THE DATABASE
try:
con = mysql.connector.connect(
user = usernameStr,
password = passwordStr,
host = hostStr,
database = databaseStr)
if conPrint: print('Connection established successfully with the database')
return con
except Error:
print(Error)
推荐阅读
- android - Room 无法验证数据完整性。如何在不编写迁移步骤的情况下修复它?
- html - Deck.gl (Mapbox) StaticMap 不调整大小 - 覆盖屏幕上的所有内容
- powershell - 带有安全字符串的管理员密码的框输入
- react-native - 我想在反应原生应用程序中为给定视频生成哈希
- r - 如何在 R 中使用 Dplyr 过滤年初至今的数据?
- bash - 在命令行中找到了 FFMpeg 尾随选项
- flask - 使用 MongoAlchemy 从字典中保存记录
- swift - 错误消息:对成员“withUnsafeBytes”的模糊引用
- java - 使用 Stream 的 Java8 地图排序
- c++ - 如何在 Visual Studio 代码中在 Mac 上使用调试器设置 C++