Matt Langtree

Leopard/Snow Leopard - Mysql_connect() Can't Connect to Local MySQL Server Through Socket '/var/mysql/mysql.sock' (2)

I was setting up my local PHP/MySQL development environment on my local MacBook Pro to mirror our work development setup.

I ran into the following error:

1
2
3
4
`**Warning** on line 365 of include/lib/adodb/drivers/adodb-mysql.inc.php
mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]:
Can't connect to local MySQL server through socket '/var/mysql/mysql.sock'
(2)`

I have fixed this issue in the past on a previous Leopard install, so I thought it was the perfect candidate for a blog post.

Customise php.ini file to use custom MySQL socket

If you have made manual customisations to your php config file already, skip this part; otherwise run the following in Terminal.app:

sudo cp /etc/php.ini.default /etc/php.ini

Next, open Sequel Pro and connect to the mysql server on your local Mac. If you don’t know how to do this, take a look at Getting Connected on the Sequel Pro documentation page.

Then, choose _Database > Show Server Variables… _

show-server-variables

Scroll down through the list of variables until you get to socket.

screenshot-on-2009-07-05-at-24810-pm

Open up /etc/php.ini in Textmate or Coda and scroll down the where it says:

; Default socket name for local MySQL connects.  If empty, uses the built-in ; MySQL defaults. mysql.default_socket =

Change the mysql.default_socket line to read:

mysql.default_socket = /tmp/mysql.sock

Restart Web Sharing Service (Apache)

Now, restart your Web Sharing service by going to  > System Preferences

Choose Sharing from the System Preferences page.

sharing-page

On the sharing pane, uncheck Web Sharing, wait a second for it to do its thing, then recheck it. If it was already unchecked, you will just need to choose the checkbox once.

screenshot-on-2009-07-05-at-30027-pm

Now, just reload your php page in Safari, and it should hopefully just work. Your app should now be connecting to the local MySQL server on your Mac. Enjoy!