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

当前回答

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

其他回答

尝试执行以下命令:

sudo /etc/init.d/mysql start
sudo service mysql start

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

我在Freebsd上也有同样的问题,我通过删除my.cnf文件解决了这个问题。 Mysql的版本是5.6。

从5.5升级后,旧的my.cnf似乎仍然存在,一些不兼容的参数迫使一个错误。 旧的my.cnf有很多参数,但新的只有一个

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

但是如果你这样做了,请记住这可能是一个安全风险,因为没有任何进一步的输入可能会将你的数据库向世界其他地方开放;-) 如果不加,至少要加这条线

bind-address = 127.0.1.1

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

你确定你安装了MySQL和MySQL服务器吗?

例如,要安装MySQL服务器,我将使用yum或apt安装MySQL命令行工具和服务器:

yum -y install mysql mysql-server (or apt-get install mysql mysql-server)

启动MySQL服务:

/sbin/chkconfig mysqld on

启动MySQL服务器:

/sbin/service mysqld start

然后设置MySQL root密码:

mysqladmin -u root password 'new-password' (with the quotes)