gpt4 book ai didi

mysql - 无法使用已经存在多年的程序进行连接

转载 作者:行者123 更新时间:2023-11-29 21:16:42 25 4
gpt4 key购买 nike

我在纳税季节使用一个程序从我的工作站上的脚本连接到生产 mysql 服务器。该程序自 2007 年以来一直在使用。今年我无法连接到 mysql 服务器,得到“用户'xxx'@'localhost'访问被拒绝”。命令行如下:

mysql -u xxx -p -h 我们的mysql服务器

其中“xxx”和“ourmysqlserver”是用于此问题的虚拟名称。

当我 ping 我们的 mysql 服务器时,它解析为我们 VPN 上的预期 IP。

我不希望“xxx”@“localhost”能够连接,因为“xxx”@“localhost”没有任何授权,因为它不合适。相反,我们一直使用“xxx”@“10.8.0.%”,其中 10.8.0 网络是我们的 VPN。拥有 localhost 对我来说没有意义,因为这要么意味着我是从 mysqlserver 上的帐户进入的,要么是我试图连接到 mysql 的本地实例,而这两者我都不想做。

凭直觉,我输入了 'xxx'@'localhost' 的 GRANTS。你会认为这样就可以了。但这也行不通。

虽然这个程序已经实现了很长时间,但多年来我们的 DNS、VPN、mysql 服务器、mysql 客户端和主机服务器配置都发生了变化。

我怀疑 mysql 客户端的配置中存在某些内容,迫使它以意外的方式运行。但我想解决这个问题,以便能够继续使用现有的程序。

编辑:我发现通过将 -h 参数切换为 IP 地址而不是 DNS 名称,可以建立连接。为什么 DNS 名称不能在某些地方使用(在其他地方仍然可以正常工作)以及为什么“localhost”出现在错误消息中仍然是一个谜。

最佳答案

我的直接猜测是 dns 与主机文件问题。我可能是使用主机文件,它解析为环回适配器,然后当您尝试进行反向 dns 查找时,它会返回为 localhost。

换句话说,我的猜测是这样的:

  1. 主机我们的mysql服务器可能在本地解析为127.0.0.1
  2. 127.0.0.1 通过反向 DNS 解析到本地主机
  3. IP 地址通过反向 DNS 解析为正确的主机名

问题可能出在/etc/hosts

关于mysql - 无法使用已经存在多年的程序进行连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35878477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com