我在尝试连接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
有效
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3167509