PYMYSQL 错误 2021(1045,“用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)”)

Posted

技术标签:

【中文标题】PYMYSQL 错误 2021(1045,“用户 \'root\'@\'localhost\' 的访问被拒绝(使用密码:YES)”)【英文标题】:PYMYSQL ERROR 2021(1045, "Access denied for user 'root'@'localhost' (using password: YES)")PYMYSQL 错误 2021(1045,“用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)”) 【发布时间】:2021-08-19 19:37:33 【问题描述】:

我的系统:

Windows 10 专业版,版本 1909(内部版本 18363.836) Anaconda 版本:conda 4.10.1 Python 3.8.5(python 在 conda env 中)和 Python 3.9 Jupyter 实验室 VS 代码

嗨!我希望你们有一个美好的一天。

我刚刚在我的 PC 上安装了 mysql 服务器和 mysql workbench,当我尝试通过“sqlalchemy”将我的 python 文件连接到 mysql 数据库(我使用 mysql workbench 作为应用程序)时遇到了一些困难。我尝试过使用 VS code 和 Jupyter Lab,它们都产生相同的结果,没有。

这是我使用的代码:

import sqlalchemy as db
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

engine1 = db.create_engine('mysql+pymysql://root:12345@localhost:3306/sql_store')
con1 = engine1.connect()
meta = db.MetaData()

pd.read_sql('SELECT * FROM customers', con1, index_col='customer_id')

顺便说一句,我已经在我的“笔记本电脑”上(不是在我的“PC”上)尝试过这段代码,它运行良好。我是这个领域的新手,所以任何建议都会很棒,因为我已经处理这个问题好几天了。

我得到的错误是:

OperationalError: (pymysql.err.OperationalError) (1045, "Access denied for user 'root'@'localhost' (using password: YES)")
(Background on this error at: http://sqlalche.me/e/13/e3q8)

非常感谢您的宝贵时间!

【问题讨论】:

//user@password@localhost:3306 表示“这台机器上的 MySQL 服务器”。您的“PC”而不是“笔记本电脑”上的 MySQL 数据库似乎有不同的 root 密码。 【参考方案1】:

一个可能的原因是您的数据库密码中存在特殊字符。如果是你的情况,check this out。

【讨论】:

以上是关于PYMYSQL 错误 2021(1045,“用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)”)的主要内容,如果未能解决你的问题,请参考以下文章

报错:pymysql.err.OperationalError: (1045, “Access denied for user ‘root‘@‘192.168.118.44‘

报错:pymysql.err.OperationalError: (1045, “Access denied for user ‘root‘@‘192.168.118.44‘

报错:pymysql.err.OperationalError: (1045, “Access denied for user ‘root‘@‘192.168.118.44‘

报错:pymysql.err.OperationalError: (1045, “Access denied for user ‘root‘@‘192.168.118.44‘

MySQL Python客户端得到1045(28000):用户'root'@'localhost'的访问被拒绝

错误 1045 (28000):用户访问被拒绝 [重复]