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服务器端的配置,例如:
通过以上步骤,通常可以解决SQLAlchemy迁移过程中出现的权限不足问题。 如果问题仍然存在,请提供更多细节信息,例如MySQL服务器的配置、SQLAlchemy连接字符串等,以便进一步排查。
以上就是MySQL远程连接正常,为何SQLAlchemy迁移却提示权限不足?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号