无法通过套接字'/var/mysql/mysql.sock'连接到本地MySQL服务器(38)

匆匆过客 提交于 2020-02-27 07:30:47

我在尝试连接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]

#1楼

确保您正在运行mysqld: /etc/init.d/mysql start


#2楼

确定要安装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)

希望对您有所帮助。


#3楼

您总是可以通过使用--socket选项指定mysql.sock文件的位置来启动mysql服务器

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

即使套接字文件的位置在my.cnf文件中的其他位置中指定,此方法也将起作用。


#4楼

我收到错误消息是因为我正在运行MAMP,而我的.sock文件位于其他位置。 我只是在应用程序认为应该指向它实际位置的地方添加了一个符号链接,它的工作方式就像是一种魅力。


#5楼

我收到以下错误

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

尝试了几种方法,最后通过以下方法解决了

sudo gksu gedit /etc/mysql/my.cnf

改性

#bind-address       = 127.0.0.1

bind-address        = localhost

然后重启

sudo /etc/init.d/mysql restart

有效

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!