gpt4 book ai didi

php - mysql连接远程主机失败

转载 作者:行者123 更新时间:2023-11-29 00:12:23 24 4
gpt4 key购买 nike

在 de webserver 上的脚本中,我正在尝试通过(旧的)mysql_connect() 连接到 mysql 到同一网络中的 ip(数据库服务器)。

MySQL 一直向我抛出错误:拒绝用户 ''@'localhost' 访问数据库 'dbname'

这似乎是在本地主机(网络服务器)而不是我输入的 IP(数据库服务器)上搜索数据库。

我检查了 my.cnf,但找不到绑定(bind)地址或其他任何内容。

当我通过 mysqli_connect() 连接时,可以建立连接,所以我猜应该不是防火墙问题。

我仍在使用 mysql_connect 的原因是因为我正在将一个大网站转移到一个新服务器,并且没有时间通过​​所有脚本更改功能。

有人熟悉这个问题并有什么建议吗?提前致谢!

更新:一段代码

$link = mysql_connect("12.34.56.78", "username", "password");
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db('dbname', $link);
if (!$db_selected) {
die ('Can\'t use dbname : ' . mysql_error());
}

最佳答案

确保在 php.ini 文件中禁用了“SQL 安全模式”。

来自 the documentation server 参数上的 mysql_connect:

server
The MySQL server. It can also include a port number. e.g. "hostname:port" or a path to a local socket e.g. ":/path/to/socket" for the localhost.
If the PHP directive mysql.default_host is undefined (default), then the default value is 'localhost:3306'. In SQL safe mode, this parameter is ignored and value 'localhost:3306' is always used.

类似的过滤适用于usernamepassword参数:
username 参数默认为拥有服务器进程的用户名,password 默认为空字符串。

您可以从此处阅读有关 SQL 安全模式的更多信息:
http://us1.php.net/manual/en/ini.core.php#ini.sql.safe-mode

关于php - mysql连接远程主机失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24433782/

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