我有一个大问题试图连接到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]

当前回答

如果一切正常,并且您刚刚开始看到这个错误,在执行其他操作之前,请确保您没有耗尽磁盘空间:

df -h

如果卷所在的mysql。sock is being created是在100%使用,MySql将无法创建它,这将是这个错误的原因。你需要做的就是删除一些不需要的东西,比如旧的日志文件。

其他回答

我得到这个错误是因为我正在运行MAMP,而我的.sock文件在不同的位置。我只是在应用程序认为应该指向实际位置的地方添加了一个符号链接,效果很好。

对我来说,这只是一个MySQL需要很长时间加载的情况。我的一个数据库中有超过10万个表,它最终启动了,但显然在这种情况下需要很长时间。

对于那些任何方法都不起作用的人,试试:

cd /etc/mysql

检查my.cnf是否存在

nano my.cnf

确保你只有一个绑定地址,如下所示:

Bind-address = 127.0.0.1

如果没有,这可能就是问题所在,只需退出nano并保存文件。

启动mysql服务

注意,如果你没有nano(它是一个文本编辑器),只要用apt-get install nano安装它,然后按Ctrl+X退出,不要忘记按Y保存并使用相同的文件)

我刚刚遇到了这个问题。经过一天的检查,我终于得到了答案,mysql。sock文件在MariaDB启动时创建,在MariaDB关闭时删除。如果MariaDB不运行,它就不存在。 也许你没有安装MariaDB。 你可以按照下面的说明操作: https://www.linode.com/docs/databases/mariadb/how-to-install-mariadb-on-centos-7 最好的

搞了两天之后,我想说说我的看法,

你在用hhvm吗?

如果是,在/etc/hhvm/server.ini中追加下一行

hhvm.mysql.socket = /var/run/mysqld/mysqld.sock