I had MySQL running fine on my Mac till earlier today when I installed homebrew and also updated my Path.
When I try to run mysql from my ternimal window now, I get the following error:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
I can't connect MySQLAdmin either.
I can't even run Mysqld. The error I get when trying to run mysqld is that it can't create test file.
I also tried to telnet localhost 3306 and wasn't able to connect.
Any help would be appreciated as I am fairly new to Mac.
Basically, all you have to do is:
- Go to "System Preferences"
- Then, if MySQL is installed you should see a "MySQL" icon in the "Other" section right at the bottom. Click on it.
- Click on "Start MySQL Server"
You will now be able to start the MySQL command prompt without getting the "Can't connect..." error.
If it's homebrew installation try:
$ mysql.server start
The mysql error (2002) is caused by the fact mysqld isn't running. The error you are seeing when starting mysqld is probably a permissions issue. Try starting mysqld as root or sudo'ing the command.
I'm user of osX 10.11.3 (El Capitan)
first of all, check your mysql version.
$ mysql --version
check the server is already running.
$ ps -ex | grep mysql
If you checked this following string, that means mysql server is already running.
=> mysqld_safe / --pid-file=#{path}
(The mysql pid file created when mysql server running to succeessfully. )
In that case, you have to stop mysql server.
$ mysql.server stop
and start your mysql server
$ mysql.server start
Starting MySQL SUCCEESS!
and start(or restart) your mysql server
$ mysql.server start
$ mysql.server restart
If you failed to start mysql server, please leave me error message when you run mysql.server start
It may also be that the address to your sock-file is wrong in php.ini.
Open up the terminal, and run the following:
netstat -ln | grep mysql
This will show the correct path to your socket. Check it versus the address in php.ini. If it's wrong, then correct it.
Go to phpMyAdmin/config.inc.php edit the line $cfg['Servers'][$i]['password'] = ''; to $cfg['Servers'][$i]['password'] = 'yourpassword';
And the last thing $cfg['Servers'][$i]['extension'] = 'mysql'; change this to $cfg['Servers'][$i]['extension'] = 'mysqli'; Now restart your server. and see .
This problem might occur due to setting of a password to root thus phpmyadmin is not able to connect to the mysql database.
I know this question is old but I fix this doing those followings commands
cd /usr/local/mysql
sudo ./bin/mysqld_safe
my_mac_password
Ctrl + Z
bg
Ctrl + D
quit the terminal
The problem is that I have to do this each time I reboot my mac.
Source: http://openclassrooms.com/courses/administrez-vos-bases-de-donnees-avec-mysql/installation-de-mysql
来源:https://stackoverflow.com/questions/2933415/mysql-mac-error-2002-cant-connect-to-local-through-socket