我有一个大问题试图连接到mysql。当我跑步时:

/usr/local/mysql/bin/mysql start

我有以下错误:

Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (38)

我有mysql。Sock在/var/mysql目录下。

在/etc/my.cnf中,我有:

[client]
port=3306
socket=/var/mysql/mysql.sock

[mysqld]
port=3306
socket=/var/mysql/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M

在/etc/php.ini中有:

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket = /var/mysql/mysql.sock

我已经使用sudo /opt/local/apache2/bin/apachectl restart重启apache

但还是有误差。

否则,我不知道这是否相关,但当我执行mysql_config——sockets时,我得到

--socket         [/tmp/mysql.sock]

当前回答

你可以通过指定mysql服务器的位置来启动mysql服务器。Sock文件使用——socket选项

mysql --socket=/var/mysql/mysql.sock 

即使套接字文件的位置指定在my.cnf文件的不同位置,这也可以工作。

其他回答

sudo service mysql start

这应该对你很有用。有可能您更改了一些影响mysql配置的命令。

我有这个套接字错误,它基本上归结为MySQL没有运行。如果您运行一个新的安装,请确保您安装了1)系统包和2)面板安装程序(mysql.prefPane)。面板安装程序将允许你进入你的系统首选项并打开MySQL,然后让一个实例运行。

请注意,在重新安装时,我需要重置我的计算机以使更改正确生效。在重新启动之后,我得到了一个新的实例,并且能够毫无问题地打开到localhost的连接。

同样值得注意的是,我显然已经安装了以前版本的MySQL,但已经删除了面板,这使得它很容易为mac用户运行MySQL实例。

关于这个重新安装的过程有一个很好的链接:http://www.coolestguyplanettech.com/how-to-install-php-mysql-apache-on-os-x-10-6/

如果有人在寻找初始化错误

无法连接数据库/var/run/mysql/mysql.sock

当运行民事管理和drupal时,只需在

settings。php和civil。settings。php

只有在你试图建立数据库连接的地方

Localhost到127.0.0.1 #本地安装

我通过删除tc.log到/var/lib/mysql目录来解决,因为它在满磁盘后被腐蚀。然后,当我启动mysql时,日志文件被创建为新的。

一个快速的解决方案,为我工作:尝试使用本地ip地址(127.0.0.1)而不是'localhost'在mysql_connect()。这将“强制”php通过TCP/IP而不是unix套接字进行连接。