Назад | Перейти на главную страницу

ОШИБКА 2002 MYSQL socket /tmp/mysql.sock

Я уже прочитал все об этой ошибке, но не смог решить проблему.

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38)

Я пытаюсь установить mysql на свой Mac OsX, но когда я пытаюсь подключиться к базе данных (mysql -u root -p) Я вижу эту проблему, ERROR 2002.

У меня установлен Mysql в /usr/local/mysql

Вы говорите, что получаете ошибку при запуске mysql -u root -p

Это будет искать файл сокета для подключения. Когда mysqld запущен, возможно, что файл сокета не будет создан, но mysqld все равно будет запущен (см. Мой пост Тайм-аут Percona-server при запуске /etc/init.d/mysql )

Попробуйте использовать один из следующих способов, чтобы узнать, можно ли подключиться без файла сокета.

  • mysql -u root -p -h127.0.0.1
  • mysql -u root -p -h127.0.0.1 --protocol=tcp

Если вы можете подключиться к одному из них, выключите mysql, как это

mysqladmin -u root -p -h127.0.0.1 --protocol=tcp shutdown

mysqld должен завершиться правильно. После этого запустите mysql как обычно

Попробуйте !!!

Я знаю, что это более старая публикация, но я провел последний час или около того, прыгая туда и обратно между администраторами serverfault, StackOverflow и DataBase, пытаясь выяснить, как решить эту проблему после установки на Mac (El Capitan) с использованием homebrew.

По крайней мере, в моем случае совет от эта почта работал:

# Run the following commands
mysqld stop
mysql.server start

Из того, что я могу собрать, я думаю (по крайней мере, в моем случае) brew mysql не инициализировал постоянный сокет, и мой сетевой администратор заблокировал возможность подключения новых процессов через / tmp / ...

Убедитесь, что демон MySQL запущен

Вы можете проверить, есть ли mysqld демон из ** Терминального приложения * запущен:

ps -feax | grep mysqld 

И убедившись, что вы получили что-то похожее на это:

    0  8308     1   0   0:00.08 ??         0:00.11 /bin/sh /usr/local/mysql/bin/mysqld_safe

или ищу mysqld процесс на Приложение Activity Monitor

Если это не бегать вам нужно запустить демон.

Запустить демон MySQL

В Mac OSX вы можете запустить демон из терминального приложения примерно так:

sudo /usr/local/mysql/bin/mysqld_safe &

Еще раз проверьте, что теперь демон MySQL работает, как описано ранее.

Я использую MacOX El Capitan 10.11.3, и я столкнулся с вышеуказанной проблемой, и ни один из ответов не работал независимо. Затем я попробовал комбинацию user153254 и Adam's, и это сработало отлично!

mysqld stop
mysql.server start
mysql -u root

Избегание mysql -u root -p помогло

У меня была точно такая же проблема, и я искал все возможные сайты для решения такой проблемы и не смог ее решить. Однако сегодня я выполнил простую командную строку из Терминала Mac, то есть просто набрал mysql -u корень и тогда это решило проблему для меня.

Сообщите мне, поможет ли это решение.

Предоставлять имя хоста вместе с логином и паролем

mysql -u <username> -p<password> -h <yourhostname>

Я решил ту же проблему в MariaDB с помощью следующей команды. перезапустить MariaDB / MySQL

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

Я установил MariaDB самодельным. Я также перезагрузил компьютер перед запуском команды.