sqlalchemy.exc.operationalerror: (pymysql.err.operationalerror) (1045, 报错 (已解决)
sqlalchemy.exc.operationalerror: (pymysql.err.operationalerror) (1045, "access denied for user 'root'@'localhost' (using password: yes)")
代码如下:
报错如下:
报错分析:
密码错误 2. 字符编码 错误 3.版本问题 ,4 权限问题
密码错误:
可以通过 cmd 尝试登入mysql 如果可以登入可以排除
mysql -u root -p
字符编码错误解决方式(很少这种情况):
# SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:Password123$@localhost:3306/Graduationdesign?charset=utf8"
设置编码: ?charset=utf8
版本问题,也就是我这个问题,这个bug搞了我一下午 ,想着换个版本试一下结果就可以了
原因可能是:mysql8 版本 与 mysql 5版本的密码加密插件不同的原因:
为了提供更安全的密码加密,
MySQL8.0的首选默认认证插件是caching_sha2_password,
而不是mysql_native_password
解决方法1:.使用mysql 5.7 版本
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
修改验证方式
访问权限 ,用户只允许在本地连接,修改成指定ip 或者 %
如:
mysql -u root -p
use mysql ;
select host,user from user ;
updata set host='%' where user ='root'
希望对你有帮助
来源地址:https://blog.csdn.net/weixin_63903477/article/details/130569934
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341