gpt4 book ai didi

php - mysql_connect 未与正确的主机通信

转载 作者:行者123 更新时间:2023-11-29 08:32:45 24 4
gpt4 key购买 nike

我有以下问题。我们将 mysql 服务器移至另一台机器,因此 IP 发生了变化,但不知何故,系统日志机器上的脚本不会与新服务器通信。我将其精简为以下代码来模拟问题

我的脚本

$link = mysql_connect("mysql.domain.tld", "<user>", "<pass>");
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';

当我执行脚本时它会返回

me@syslog:~# php test.php
Could not connect: Access denied for user '<user>'@'10.254.237.42' (using password: YES)

但是当我执行 ping 操作时

me@syslog:~# ping -c 1 mysql.domain.tld
PING mysql.domain.tld (10.254.235.31) 56(84) bytes of data.

它解析为完全不同的 IP(但正确的 IP)

所以我目前处于“等等-WHUT!!!”状态模式,因为我无法找出为什么它连接到错误的机器。所以我的问题是有没有办法让 mysql_connect 始终连接到 php.ini 或其他内容中的固定 IP/主机?

最佳答案

您尝试登录的用户没有从该主机连接的权限,在本例中为 10.254.237.42 。您需要将其添加为用户 <user> 的有效主机.

修改此并在 mySQL 机器上执行:

GRANT ALL PRIVILEGES ON *.* TO  ‘USERNAME’@‘IP’  IDENTIFIED  BY  ‘PASSWORD’;

也就是说,您可能不想授予用户所有权限。将其限制为特定数据库上的 SELECT、INSERT、UPDATE、DELETE 等...

您可能可以省略 IDENTIFIED BY部分。

完成此命令后,您需要运行 FLUSH PRIVILEGES登录时。

关于php - mysql_connect 未与正确的主机通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16104492/

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