我在 Windows Server 2019 上使用ODBC 数据源(64 位)实用程序配置新的 MySQL 连接时遇到问题。我正在使用MySQL Workbench定义远程访问,如下所示:
用户被授予SELECT
唯一访问权限:
我注意到我需要从中发起连接的服务器 ( srv-bo
) 有一个静态 IP 地址,该地址过去已被另一台服务器 ( srv-mooc
) 使用过。古老的远程服务器条目在域控制器 DNS 中持续存在,因此我将其删除。从那时起,ODBC 数据源(64 位)srv-mooc
实用程序一直在尝试连接古代服务器的名称(
到目前为止,我已尝试刷新 Windows Server 2019 上的 DNS 缓存,我从该缓存中发起连接。我还尝试从另一个用户会话和服务器重新启动后建立连接。问题依然存在:
错误信息:
用户凭据在另一个 Windows Server 2019 上工作正常,因此连接细节很好。
有什么想法可以帮忙吗?
托马斯
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
您可以尝试编辑此文件
C:\Windows\System32\drivers\etc\hosts
,其中存储了所有本地 DNS 记录。另请检查 Windows 使用的当前 DNS 服务器的答案是什么,看起来它在某处有 PTR 记录。经过大量搜索和各种评论的宝贵帮助后,我最终设法通过
FLUSH HOSTS;
在远程服务器上的查询编辑器中执行 SQL 查询来解决这个问题。请参阅此处的MySQL 5.5 文档。