【发布时间】:2011-07-19 14:03:06
【问题描述】:
我在尝试连接 mysql 时遇到了一个大问题。当我跑步时:
/usr/local/mysql/bin/mysql start
我有以下错误:
Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (38)
我在/var/mysql 目录下确实有mysql.sock。
在/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 正在运行吗?
-
这当然解释了尝试连接它时的错误。正如@Romain 所提到的,MySQL 的日志中是否有任何内容(尝试
/var/log/mysql或附近的某个地方)表明它为什么没有运行?尝试启动时是否出现错误? -
我遇到了同样的错误,但在我的情况下,我发现 mysql 无法启动,因为磁盘已满 100%。 /var/log/mysqld.log 很有帮助。
-
我想他们询问它是否正在运行的原因是因为套接字是在服务启动时创建的。我安装了 mysql,但从未启动该服务,因此 .sock 文件不存在。如果您刚刚安装,请键入
service mysqld start。 hth -
以下shimanyi
sudo service mysql start的回答救了我
标签: mysql