MySQL - Mac - Error 2002 - Can't connect to local… through socket

我只是一个虾纸丫 提交于 2019-12-01 17:16:42

问题


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.


回答1:


Basically, all you have to do is:

  1. Go to "System Preferences"
  2. Then, if MySQL is installed you should see a "MySQL" icon in the "Other" section right at the bottom. Click on it.
  3. Click on "Start MySQL Server"

You will now be able to start the MySQL command prompt without getting the "Can't connect..." error.




回答2:


If it's homebrew installation try:

$ mysql.server start



回答3:


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.




回答4:


I'm user of osX 10.11.3 (El Capitan)

  1. first of all, check your mysql version.

    $ mysql --version
  2. 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
  3. and start your mysql server

    $ mysql.server start

    Starting MySQL SUCCEESS!

  4. 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




回答5:


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.




回答6:


  1. Go to phpMyAdmin/config.inc.php edit the line $cfg['Servers'][$i]['password'] = ''; to $cfg['Servers'][$i]['password'] = 'yourpassword';

  2. 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.




回答7:


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!