我正在尝试使用 Amazon RDS 代理将我的 .NET API 应用程序连接到 MySQL 数据库,但遇到了困难。我已经设置了 RDS 代理和 MySQL 实例。然而,连接似乎没有按预期工作。
环境:
旧连接字符串(直接连接MySQL)
{ "ConnectionStrings": { "DefaultConnection": "server=my-rds-instance.endpoint.amazonaws.com;port=3306;user id=dbuser;password=dbpassword;database=mydatabase;" } }
代理连接字符串
{ "ConnectionStrings": { "DefaultConnection": "Server=my-rds-proxy.endpoint.amazonaws.com;Port=3306;Database=mydatabase;Uid=proxyuser;Pwd=poxy+password;" } }
services.AddDbContextPool<Context>(opts => { string connString = configuration["ConnectionStrings:DefaultConnection"]; opts.UseMySql(connString, ServerVersion.AutoDetect(connString));}, 128);
问题: 与数据库的连接失败并出现一般错误。 我已检查 RDS 代理端点和凭据,它们是正确的。
问题: 在 .NET Core 应用程序中将 RDS Proxy 与 MySQL 结合使用是否需要特定配置? 使用 RDS Proxy 时是否需要以不同方式处理 IAM 身份验证? 是否需要任何额外的步骤或库才能完成这项工作? 任何有关如何正确设置连接的帮助或指导将不胜感激!
经过一些研究,我发现对于 RDS Proxy,出于某种原因,您应该指定 MySQL 的确切版本。