首页 > 解决方案 > 无法从我的 Webapp 连接到我的 MYSQL Azure - 1045,“用户 'dbadmin'@'xx.xx.xx.x' 的访问被拒绝(使用密码:是)

问题描述

我在我的 Webapp 中不断收到以下错误

OperationalError: (_mysql_exceptions.OperationalError) (1045, "Access denied for user 'dbadmin'@'xx.xx.xx.x' (using password: YES)")

MySQL Azure:

SQLAlchemy db_uri 看起来像这样

mysql://dbadmin@jetbase:'mysecretpassword'@jetbase.mysql.database.azure.com:3306/jetdb

网络应用程序

也在法国中部举办

在我的开发计算机上本地运行时,相同的 docker 映像可以访问数据库(我在 Security 下的客户端 IP 地址中手动添加了 ip。)

有人可以帮我调试吗?

标签: azureazure-web-app-servicemysql-error-1045azure-mysql-database

解决方案


根据提供的信息,我可以给出 2 个想法:

  • Web 应用程序客户端中数据库 URL 的编码。我们的 PG 实例有类似的 DB url 语法(用户名中带有“@”)。在我们的服务器中,我们将其替换为“%40”以使其正常工作。
  • 您的网络服务器 IP 不允许使用帐户 dbadmin(可能 IP 不是静态的,也可能不是您想到的,这实际上取决于您的 Web 应用程序的托管)。我想你已经仔细检查过了。

如果您愿意,我们可以在 StationF 一起尝试调试


推荐阅读