如何刷新MySQL-Connector-Net池中连接的DNS?

问题描述 投票:0回答:1

我们将 MySQL-Connector-Net 驱动程序与 C# 应用程序和 AWS Aurora 结合使用。每当 Aurora 数据库将当前实例切换为只读副本(并将另一个实例设为可写实例)时,池中已将集群 DNS 条目解析为第一个实例的任何连接都将开始在写入时失败。由于异常不是连接失败而是权限失败(尝试在现在只读的数据库上写入),因此池中有不可用的连接。

  1. 检测此问题并从池中清除该连接的最佳方法是什么?
  2. 有没有办法强制连接每 X 秒或返回池时刷新其 DNS?

发生这种情况的方法如下:

  1. 创建用于连接 Aurora DB 的连接池
  2. 从池中拉出一个连接并开始使用它来做某事
  3. 切换 Aurora 集群的实例,使当前主写实例成为只读副本
  4. 尝试使用池中之前打开的连接来写入 Aurora
c# mysql .net mysql-connector amazon-aurora
1个回答
0
投票

您是否尝试过在连接字符串中配置 DNS 刷新选项?例如。 https://mysqlconnector.net/connection-options/ 且 DnsCheckInterval > 0 ?

© www.soinside.com 2019 - 2024. All rights reserved.