
SQLAlchemy迁移失败:MySQL远程连接正常,却提示权限不足?
问题:
使用SQLAlchemy进行MySQL数据库迁移时,出现权限不足错误:
sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1045, "Access denied for user 'db_user'@'121.29.178.187' (using password: YES)")
奇怪的是,使用相同用户名和密码的远程命令行和Navicat客户端都能正常连接数据库,数据库用户db_user的host字段设置为’%’,MySQL版本为8.0.2.6。
分析及解决方法:
虽然看起来密码正确,但问题很可能仍然出在密码或权限上。建议尝试以下步骤:
再次核实密码: 仔细检查在命令行、Navicat和SQLAlchemy连接配置中使用的密码是否完全一致,包括大小写。 复制粘贴时尤其要注意。
创建特定主机用户: 即使host设置为%,也可能存在细微的权限差异。建议创建一个新的MySQL用户db_user@121.29.178.187,并明确赋予该用户所需的数据库权限。
检查MySQL配置: 如果以上步骤无效,则需要检查MySQL服务器端的配置,例如:
授权表: 检查MySQL的mysql数据库中的user表,确保db_user用户的权限设置正确。防火墙: 确认MySQL服务器的防火墙是否允许来自121.29.178.187这个IP地址的连接。
通过以上步骤,通常可以解决SQLAlchemy迁移过程中出现的权限不足问题。 如果问题仍然存在,请提供更多细节信息,例如MySQL服务器的配置、SQLAlchemy连接字符串等,以便进一步排查。
以上就是MySQL远程连接正常,为何SQLAlchemy迁移却提示权限不足?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1356584.html
微信扫一扫
支付宝扫一扫