我应该如何参考Web主机上的MySQL Server



当使用PHP连接到Web主机上的MySQL数据库时,参考服务器的最佳方法是什么?

我的Web主机上的MySQL管理页面说明了服务器的IP地址,但是我可以使用IP号以外的其他内容吗?

例如

$con = mysql_connect("l00.50.10.10","user","password");
if (!$con) { die('Could not connect: ' . mysql_error()); }

当我使用localhost时,我会得到此输出:

无法连接:无法通过套接字连接到本地mysql服务器 '/var/lib/mysql/mysql.sock'(2)

您可以将脚本的系统带有" localhost"作为主机。

$con = mysql_connect("localhost", "user", "password");

但是,连接到IP很可能是失败的,因为您有一个小写L应该有一个数字(但我希望问题中的IP只是一个示例)。

另外,使用mysqli或pdo代替不弃用的MySQL。

您可以数据库服务器的主机名,例如。mydbbox.example.com。使用IP地址可能更快,因为不需要DNS查找。

也请参见此问题。

这个问题的答案取决于您的主机(或其控制面板)如何配置MySQL特权。特权是特定于IP或主机名,因此通常通过IP或主机名连接可能没有相同的连接结果。如有疑问,我会准确地确定他们给您的设置。

阅读更多:http://dev.mysql.com/doc/refman/5.0/en/account-names.html

如果数据库主机是相同的计算机 - 使用localhost。MySQL将通过本地套接字连接,而不是使用端口号的localhost时,而不是TCPIP(网络)。

有时服务器不支持套接字连接,您会收到这样的错误:

无法连接:无法通过套接字连接到本地MySQL Server ...

编辑/更正:如果您无法通过套接字连接 - 使用127.0.0.1。它将通过TCPIP迫使连接。

如果在其他计算机上安装了数据库服务器 - 您可以使用IP addressdomain

在大多数情况下,IP地址更好,因为即使DNS(域名服务器)也无法正常工作或域过期时,也可以建立连接。


和一个建议 - 在新应用程序中使用mysqli_而不是mysql_ functions 。新功能的使用非常相似,但更安全。

mysql_ functions 是过时的,对于新应用程序,它们是不推荐的。由于与旧的,过时的软件(CMS系统,电子商务系统等)的兼容性,它们仍在PHP中使用。

php帮助说(关于mysql_connect):

不建议使用此扩展名。相反,mysqli或pdo_mysql 扩展应使用。


有关与localhost 连接的更多信息 - 来自mySQL参考的信息

在Unix上,MySQL程序特别处理主机名,特别是在 与其他人相比,可能与您期望的方式不同 基于网络的程序。对于与Localhost的连接,MySQL程序 尝试通过使用UNIX套接字文件连接到本地服务器。 即使给出了一个端口,即使给出了 - port或-p选项 数字。确保客户端将TCP/IP连接到 本地服务器,使用 - 主机或-h指定主机名值 127.0.0.1

请注意,在PHP以外的其他上下文中," -port"one_answers" -p"选项被删除,但是连接机制的工作相似,而localhost是"特殊"名称,这并不重要。

您是否尝试在Google中键入类似的内容?

PHP无法连接:无法通过 插座'/var/lib/mysql/mysql.sock'(2)

这主要取决于主机如何配置内容。根据我的经验,您将使用" Localhost",服务器的IP地址或主机设置的某种子域。

我将从测试" Localhost"开始,因为这是大多数共享托管环境的默认值。

$con = mysql_connect("localhost", "username", "password");

最新更新