我是 php 新手,在尝试在我的一个页面上建立与我在网站 phpMyAdmin 页面上设置的数据库的连接时。
我收到此错误:
"Database connection failed: Can't connect to local MySQL server through 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 设置了页面,一切正常。
当我尝试在网站上启用它时,我遇到了此错误。
任何帮助都会很棒!!
最佳答案
尝试使用127.0.0.1
而不是localhost。
如果这不能解决问题,并且您拥有服务器的 root 访问权限,请尝试以下命令
service mysql restart
重新启动mysql服务器。
第一个选项可能会起作用。再次强调,如果您拥有服务器的 root 访问权限,则应该更改 mysql 配置以支持套接字,因为它比 TCP-ip 连接更好。
关于php - 无法连接MySQL数据库,套接字错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20928438/