sqlalchemy.exc.operationalerror: (pymysql.err.operationalerror) (1045, "access denied for user 'root'@'localhost' (using password: yes)")
代码如下:
报错如下:
报错分析:
1.密码错误 2. 字符编码 错误 3.版本问题 ,4 权限问题
1.密码错误:
可以通过 cmd 尝试登入mysql 如果可以登入可以排除
mysql -u root -p
2.字符编码错误解决方式(很少这种情况):
# SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:Password123$@localhost:3306/Graduationdesign?charset=utf8"
设置编码: ?charset=utf8
3.版本问题,也就是我这个问题,这个bug搞了我一下午 ,想着换个版本试一下结果就可以了
原因可能是:mysql8 版本 与 mysql 5版本的密码加密插件不同的原因:
为了提供更安全的密码加密,
MySQL8.0的首选默认认证插件是caching_sha2_password,
而不是mysql_native_password
解决方法1:.使用mysql 5.7 版本
2:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
修改验证方式
4.访问权限 ,用户只允许在本地连接,修改成指定ip 或者 %
如:
mysql -u root -p
use mysql ;
select host,user from user ;
updata set host='%' where user ='root'文章来源:https://www.toymoban.com/news/detail-608104.html
希望对你有帮助文章来源地址https://www.toymoban.com/news/detail-608104.html
到了这里,关于sqlalchemy.exc.operationalerror: (pymysql.err.operationalerror) (1045, 报错 (已解决)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!