我在尝试连接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目录下。
mysql.sock
/var/mysql
在/etc/my.cnf我有:
/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我有:
/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
我已经使用重新启动了Apache sudo /opt/local/apache2/bin/apachectl restart
sudo /opt/local/apache2/bin/apachectl restart
但是我仍然有错误。
否则,我不知道这是否相关,但是当mysql_config --sockets我得到时
mysql_config --sockets
--socket [/tmp/mysql.sock]
如果您的文件my.cnf(通常在 / etc / mysql / 文件夹中)已正确配置为
socket=/var/lib/mysql/mysql.sock
您可以使用以下命令检查mysql是否正在运行:
mysqladmin -u root -p status
尝试将您的权限更改为mysql文件夹。如果您在本地工作,则可以尝试:
sudo chmod -R 755 /var/lib/mysql/
为我解决了