PHP和Mysql连接

时间:2014-11-30 10:31:30

标签: php mysql sockets

我在我的Mac上使用os X yosemite。我最近一直面临着PHP和Mysql连接的问题。我无法使用此语句将PHP连接到mysql

$link = mysql_connect("localhost",$username,$passwd);
        if($link)
        {
            echo "Connection successful";
        }
        else 
        {
            $msg=mysql_error();
            echo $msg;
        }

我已经看到一些建议通过互联网链接一些袜子文件(我为了不理解和记录我所做的事情而疯狂于myswl)。在袜子改变之后,它运作良好。现在我重新启动了机器,几天后,我无法直接连接到mysql以及通过PHP连接到mysql。我收到以下错误。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2)

我尝试了修改php.ini的建议,但没有帮助。

感谢您的帮助。

这就是PHP.ini的样子:

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
; http://php.net/pdo_mysql.default-socket
pdo_mysql.default_socket= tmp/mysql.sock as well as /var/mysql/mysql.soc
-------------------------------------------------------------------------------------------

More information
-----------------
mymac:mysql abc$ cd /var/mysql
mymac:mysql abc$ ls -ltr

/*
lrwxr-xr-x  1 root  wheel  15 Feb  6  2014 mysql.soc -> /tmp/mysql.sock

lrwxr-xr-x  1 root  wheel  15 Nov 30 10:07 mysql.sock -> /tmp/mysql.sock */
-----------------

1 个答案:

答案 0 :(得分:0)

我注意到当您连接到localhost时,会使用套接字连接器,但是当您连接到127.0.0.1时,会使用TCP / IP连接器。如果套接字连接器未启用/工作,您可以尝试使用127.0.0.1

使用

配置my.cnf(通常在/ etc / mysql /文件夹中)文件
socket=/var/lib/mysql/mysql.sock

检查您是否正在运行MySQL

还尝试将您的权限更改为mysql文件夹,您可以尝试:

sudo chmod -R 755 /var/lib/mysql/

为我解决了这个问题