7
votes

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?

5
Did MySQL actually start? If it's starting, it would create the socket automatically.Marc B
what does your mysql error log say?user510365
Did you ever solve this problem?DashRantic
Yes, a solution that's worked for others (myself included) is posted, would be much obliged if you could mark the correct solution.DashRantic

5 Answers

20
votes

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!

4
votes

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

enter image description here

mysql is running ok.

enter image description here

2
votes

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.

1
votes

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
0
votes

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.