无法连接MySQL数据库,socket错误

时间:2014-01-05 00:18:56

标签: php mysql sockets database-connection

我是 php 的新手,在尝试在我的某个网页上建立数据库连接时,我在我网站的 phpMyAdmin 页面上进行了设置。

我收到此错误:

  

“数据库连接失败:无法连接到本地MySQL服务器   通过socket'/tmp/mysql.sock'(46)(2002)“

我不知道套接字是什么,或者为什么它试图看起来像临时文件,所以我甚至不知道在哪里解决这个问题。

我用来建立初始连接的代码是:

<?php
define("DB_SERVER", "localhost");
define("DB_USER", "xxxx");
define("DB_PASS", "xxxx");
define("DB_NAME", "tester");

$connection = mysqli_connect(DB_SERVER, DB_USER, DB_PASS, DB_NAME);

// Test if connection occurred.
if(mysqli_connect_errno()) {
    die("Database connection failed: " .
        mysqli_connect_error() .
        " (" . mysqli_connect_errno() . ")"
    );
}
?>

我知道我应该可以访问 MySQL 数据库,因为我自己登录并制作了它们。

我之前在计算机上使用 WAMP 设置了页面,一切正常。

就在我尝试在网站上实现它时,我遇到了这个错误。

任何帮助都会很棒!

2 个答案:

答案 0 :(得分:0)

尝试使用127.0.0.1代替localhost.

如果这不能解决问题,并且您具有服务器的root访问权限,请尝试以下命令

service mysql restart

重新启动mysql服务器。

第一个选项可能会奏效。同样,如果您具有对服务器的root访问权限,则应更改mysql配置以支持套接字,因为它优于TCP-ip连接。

答案 1 :(得分:0)

多次联系我的托管服务后,似乎发生了错误,因为我的托管服务最近更改了他们的规范,现在在主机和服务器字段中使用“mysql”而不是“localhost”。之前我曾使用“localhost”和其他主机服务,所以我没想到要更改此内容,主持人网站上的最新帮助文章没有更新以反映这一点。