Для новичков: ERROR 2002 (HY000): невозможно подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock'

Я установил MySQL на Mac OS X Mountain Lion с помощью homebrew install mysql, но когда я попробовал mysql -u root, я получил следующую ошибку:

ERROR 2002 (HY000): невозможно подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock' (2)

Что означает эта ошибка? Как я могу это исправить?

Ответ 1

Вероятно, MySQL установлен, но еще не запущен.

Чтобы убедиться, что он запущен, откройте "Монитор активности" и "Все процессы", выполните поиск и убедитесь, что вы видите процесс "mysqld".

Вы можете запустить его, установив "MySQL.prefPane".

Вот полный учебник, который помог мне: http://obscuredclarity.blogspot.in/2009/08/install-mysql-on-mac-os-x.html

Ответ 2

Вам нужно запустить MySQL, прежде чем вы сможете использовать команду mysql на вашем терминале. Для этого запустите brew services start mysql. По умолчанию brew устанавливает базу данных MySQL без пароля root. Чтобы обеспечить его запуск: mysql_secure_installation.

Чтобы выполнить запуск: mysql -uroot. root - это имя пользователя здесь.

Ответ 3

Это произошло после установки homebrew и происходит из-за проблем с разрешениями. Следующие команды устранили проблему.

sudo chown -R _mysql:mysql /usr/local/var/mysql

sudo mysql.server start

Ответ 4

Запуск: brew info mysql

И следуйте инструкциям. Из описания в формуле:

Set up databases to run AS YOUR USER ACCOUNT with:
    unset TMPDIR
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

To set up base tables in another folder, or use a different user to run
mysqld, view the help for mysql_install_db:
    mysql_install_db --help

and view the MySQL documentation:
  * http://dev.mysql.com/doc/refman/5.5/en/mysql-install-db.html
  * http://dev.mysql.com/doc/refman/5.5/en/default-privileges.html

Надеюсь, что это поможет.

Ответ 5

Как отмечали другие, это связано с тем, что MySQL установлен, но служба не запущена. Есть много способов запустить службу MySQL, и то, что сработало для меня, - это ниже.

Чтобы запустить службу:

  • Перейдите в раздел "Системные настройки"
  • В нижней панели должен быть значок MySql.
  • Дважды щелкните это, чтобы запустить "Состояние сервера MySQL" и нажмите кнопку "Запустить сервер MySQL"

Моя env:

Мак Йосемити 10.10.3

Установленный пакет:/Volumes/mysql-advanced-5.6.24-osx10.8-x86_64

Ответ 6

Решения вращаются вокруг:

  • изменение разрешений MySQL

    sudo chown -R _mysql:mysql /usr/local/var/mysql
    
  • Запуск процесса MySQL

    sudo mysql.server start
    

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

mysql -u root -p h127.0.0.1

Ответ 7

Ниже я включаю в себя последние инструкции от brew install mysql, так что более новые поиски этой проблемы могут принести пользу:

$ brew install mysql
==> Downloading https://homebrew.bintray.com/bottles/mysql-5.6.26.yosemite.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring mysql-5.6.26.yosemite.bottle.1.tar.gz

To connect:
    mysql -uroot

To have launchd start mysql at login:
  ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
  mysql.server start

В моем случае я загрузил mysql теперь через launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist, а затем смог запустить $ mysql и быть на моем пути.

Я надеюсь, что это поможет устранению неполадок в последнее время!

Ответ 8

Предупреждение - этот метод удалит все ваши базы данных в папке /usr/local/var/mysql

У меня был установлен MySQL с Homebrew, и единственное, что исправило это для меня, это переустановка MySQL.

На ноутбуке моей компании у меня не было разрешения удалить MySQL с моего компьютера через Homebrew:

$ brew uninstall mysql --ignore-dependencies
Uninstalling /usr/local/Cellar/mysql/8.0.12... (255 files, 233.0MB)
Error: Permission denied @ dir_s_rmdir - /usr/local/Cellar/mysql/8.0.12

Поэтому вместо этого я удалил и переустановил MySQL вручную:

$ sudo rm -rf /usr/local/Cellar/mysql
$ brew cleanup
$ sudo rm -rf /usr/local/var/mysql
$ brew install mysql

И это сработало!

Ответ 9

Похоже, ваш сервер mysql не запущен. Обычно я запускаю команду остановки и снова запускаю ее:

mysqld stop
mysql.server start

Такая же ошибка, и это работает для меня.

Ответ 10

Это устранило мою проблему при перезапуске службы mysql. Просто запустите:

brew services start mysql

Ответ 11

Для меня это было просто, как запуск:

/usr/local/opt/mysql/bin/mysqld_safe

вместо mysqld

Ответ 12

Ох, это заняло у меня некоторое время, чтобы выяснить. Я видел это в комментарии. После установки mysql с помощью brew и запуска службы (возможно, с помощью sudo brew services start mysql), затем запустите:

$ mysqld

И MySQL должен работать для вас после этого.

Ответ 13

Я нашел решение своей проблемы. Это было действительно потому, что мой сервер MySQL не работал.

Это было вызвано неправильной настройкой MySQL на моем компьютере, поэтому он не мог работать.

Чтобы исправить это, я использовал script, который устанавливает MySQL на Mac OSX Mountain Lion, который должен был установить отсутствующие файлы.

Вот ссылка: http://code.macminivault.com/

Важное примечание.. Этот script устанавливает пароль root как произвольно сгенерированную строку, которую он сохраняет на рабочем столе, поэтому не следует удалять этот файл и принимать к сведению пароль. Он также устанавливает менеджера MySQL в настройках вашей системы. Я также не уверен, удаляет ли какие-либо существующие базы данных, поэтому будьте осторожны.

Ответ 14

В моем случае это был просто вопрос удаления файла блокировки.

sudo rm -f /tmp/mysql.sock.lock

Ответ 15

эта проблема связана с доступом к папке /usr/local/var/mysql, я удаляю эту папку и переустанавливаю mysql.

  1. удалить mysql с помощью brew:

    brew uninstall mysql

  2. sudo rm -r /usr/local/var/mysql

  3. brew install [email protected]
  4. mysql -u root

Это решение прекрасно работает для меня! Но вы потеряли все свои базы данных! ПРЕДУПРЕЖДЕНИЕ!

Ответ 16

После работы над этим в течение нескольких часов, то, что сработало для меня, было перейдите в/etc/mysql/и отредактируйте файл my.cnf. Добавьте следующий

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

Ответ 17

Я перепробовал все возможные способы решения этой проблемы, например, ln -s/var/lib/mysql/mysql.sock/tmp/mysql.sock, удалите и переустановите mysql, убедитесь, что mysql работает на xampp, но ничего по-прежнему не работает работал.

Наконец, я открываю my.cnf (файл конфигурации) и копирую путь к сокету (обязательно скопируйте полный путь, иначе он не будет работать). Затем я выполняю эту команду в моем терминале

mysql --socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

И вот, MySQL запускает.

Это решение будет работать, только если ваш MySQL показан работающим в Xampp/Ampps, но в терминале он все еще не подключается к правому сокету, когда вы уже пытались что-то вроде:

./mysql -u root

или же

brew services start mysql

Надеюсь, это поможет!

Ответ 18

только это помогло мне brew services start --all (попробовав все ответы)

Ответ 19

В моем случае сразу после установки MAMP доступ к mysql из терминала давал ту же ошибку сокета. В конце все, что он хотел, это перезапуск, и он работает.

Ответ 20

Множество других полезных ответов здесь, но ничто не исправило это для меня. В конечном итоге ничто из того, что я нашел на этом сайте или других, не получило бы никакой версии MySQL от Homebrew, работающей на меня.

Было просто безболезненно просто загрузить DMG с https://dev.mysql.com/downloads/file/?id=479114 (найти нужную версию) и позволить мастеру установить ее для меня. Единственным другим ручным шагом было добавление /usr/local/mysql/bin в мою PATH.

Я бы порекомендовал этот вариант, если варево доставляет вам неприятности.

Обновление - если это не помогло, попробуйте полностью очистить MySQL перед установкой через DMG. Следуйте этим инструкциям: https://gist.github.com/vitorbritto/0555879fe4414d18569d

Ответ 21

Я прошел через эту проблему, и мне удалось запустить сервер MySQL, используя приведенное ниже решение

Установите mysql через .dmg (https://dev.mysql.com/downloads/mysql/5.7.html), вы получите служебную панель mysql в системных настройках, затем запустите mysql из панели и попробуйте

mysql -u root -p

Изображения прикреплены для справки

System Preferences

Mysql panel

Ответ 23

Я бы порекомендовал вам запустить

  mysql.server start

прежде чем идти в

  mysql -u root -p

чтобы убедиться, что сервер mysql работает, прежде чем пытаться войти в него

Это происходит много раз, когда вы запускаете/перезапускаете машину, на которой не работает ни один сервер mysql.

Ответ 24

Я продолжаю возвращаться к этому сообщению, я сталкивался с этой ошибкой несколько раз. Это может быть связано с импортом всех моих баз данных после новой установки.

Я использую доморощенный. Единственное, что раньше исправляло меня:

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

Этим утром проблема вернулась после того, как моя машина решила выключиться на ночь. Единственное, что исправило это сейчас, - это обновление mysql.

brew upgrade mysql

Ответ 25

Обнаружена похожая проблема после обновления до ОС Catalina. После запуска команды mysqld я обнаружил, что с файлом log файлов возникли некоторые проблемы. Это может отличаться для других.

$ mysqld

Проблема была

2019-10-16T04:58:59.174474Z 0 [ERROR] Could not open file '/var/log/mysql/error.log' for error logging: No such file or directory
2019-10-16T04:58:59.174508Z 0 [ERROR] Aborting

Решил, создав его и применив соответствующие разрешения.

sudo mkdir -p /var/log/mysql
sudo touch /var/log/mysql/error.log
sudo chown -R _mysql:mysql /var/log/mysql/

Перезапустите MySQL

brew services restart [email protected]

Проблема устранена.

mysql -uroot -proot

Ответ 26

  1. Удалите MySQL.
  2. Удалите /usr/local/var/mysql/.
  3. Установите MySQL.