mysql.sock is not created OSX

2019-02-17 05:19发布

问题:

I run mysql on OSX, now when I restart my computer it does not create the mysql.sock, meaning that all my connections gives me a error 2002.

anyone knows how to prevent this?

回答1:

I had this same issue on Snow Leopard, the socket spawns in the wrong location for some reason on OS X.

To get the socket spawning in the correct location: create a new file "my.cnf" in /etc with the following lines:

[mysqld]
socket=/var/mysql/mysql.sock

[client]
socket=/var/mysql/mysql.sock

and restart mysqld: sudo /usr/local/mysql/bin/mysqld_safe

This will force the MySQL socket file to spawn in the proper location, and everything should work normally. Good luck!



回答2:

I use Mac OS 10.12 Sierra, I meet the same mysql question. I can find mysql.sock in my file system.

Resolve question method:

1 remove my.cnf

sudo rm -rf /etc/my.cnf

restart your mysql servers

brew services restart mysql

or

sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

you can check it

sudo lost -i tcp:3306

mysql is running ok.



回答3:

I had that problem on a Linux box once, and I found that the directory (/var/run/mysqld) was not writable by the user mysql runs as. I would check that if I were you.



回答4:

I recommend to execute

sudo find / -name "mysql.sock"

to be sure the file is not anywhere.

In my cas I used the command mysql with variant socket in this way

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


回答5:

I've been having trouble in restarting MySQL on a box running Sierra. Every time that I tried to connect after restarting my machine, I would lose the ability to connect to my MySQL instance. Based on this post, I determined that there was, indeed, no my.cnf file in my environment. I followed DashRantic's instructions to force a build of a socket file. It appears to have resolved the problem.