DNS 不匹配导致 MySQL 连接器/ODBC 连接错误

DNS 不匹配导致 MySQL 连接器/ODBC 连接错误

我在配置新的 MySQL 连接时遇到问题ODBC 数据源(64 位)Windows Server 2019 上的实用程序。我正在使用MySQL 工作台定义远程访问如下:

在此处输入图片描述

授予用户SELECT唯一的访问权限:

在此处输入图片描述

我注意到我需要从其发起连接的服务器 ( srv-bo) 有一个静态 IP 地址,该地址过去已被另一台服务器使用 ( srv-mooc)。旧的远程服务器条目仍然存在于域控制器 DNS 中,因此我将其删除。从那时起,ODBC 数据源(64 位)实用程序不断尝试连接古老的服务器名称(srv-mooc)...似乎一些连接信息保存在某处的内存中,但我无法弄清楚。

到目前为止,我已尝试刷新启动连接的 Windows Server 2019 上的 DNS 缓存。我还尝试从另一个用户会话建立连接,并在服务器重新启动后建立连接。问题仍然存在:

在此处输入图片描述

错误信息:

在此处输入图片描述

用户凭据在另一个 Windows Server 2019 上运行良好,因此连接详细信息良好。

有什么想法可以帮忙吗?

托马斯

答案1

MySQL 很可能维护着主机的内部 DNS 缓存。要进行快速而粗略的测试,请SET GLOBAL host_cache_size=0;在服务器上尝试(如果 DNS 负载是一个问题,请记住在测试后将其重置为非零值)。

编辑:对于 5.5 MySQL,尝试FLUSH HOSTS;

参考:https://dev.mysql.com/doc/refman/8.0/en/host-cache.html#host-cache-flushing http://download.nust.na/pub6/mysql/doc/refman/5.5/en/dns.html

答案2

您可以尝试编辑此文件C:\Windows\System32\drivers\etc\hosts,其中存储了所有本地 DNS 记录。另外,请检查 Windows 当前使用的 DNS 服务器的答案是什么,看起来它在某处有一个 PTR 记录。

答案3

经过大量搜索和各种评论中的宝贵帮助,我最终设法通过FLUSH HOSTS;在远程服务器上的查询编辑器中执行 SQL 查询来解决该问题。

请参阅 MySQL 5.5 文档这里

相关内容