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

Я установил сервер MySQL и попытался подключиться к нему, но получив ошибку:

    Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Я проверил каталог /tmp, и нет mysql.sock. Я не могу найти mysql.sock в любом месте. Я читал, что это может быть в

    /var/lib/mysql/mysql.sock

Но я также проверил там, и даже нет директории mysql, только часть postfix внутри /lib. Может ли кто-нибудь помочь мне с этой проблемой?

Ответ 1

Попробуйте запустить сервер MySQL:

mysql.server start

Ответ 2

Я получил тот же вопрос после обновления OS X Yosemite, ну, решение довольно простое, проверьте системное предпочтение → mysql, статус STOP. Просто перезапустите его, и теперь он отлично работает на моем mac.

Ответ 3

Для MAMP

ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock

От https://coderwall.com/p/w5kwzw/solved-can-t-connect-to-local-mysql-server-through-socket-tmp-mysql-sock

UPDATE: каждый раз, когда мой компьютер перезагружается, мне нужно ввести эту команду, поэтому я создал ярлык.

В терминальном типе выполните следующие действия:

~: vi ~/.profile

добавлять

alias ...='source ~/.profile'
alias sockit='sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock'

Сохранить.

В терминальном типе:

~:... для источника конфигурации.profile.

Теперь в терминале вы можете просто ввести

~: sockit

Ответ 4

Следующая команда разрешила мою проблему:

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

sudo mysql.server start

Ответ 5

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

mysql -u root -p -h127.0.0.1

при запросе пароля

Enter password:

нажмите enter

и он будет работать, если все будет в порядке, как указано выше.

Ответ 6

В вашем конфигурационном файле mysql, который присутствует в /etc/my.cnf, выполните следующие изменения, а затем перезапустите mysqld процесс dameon

[client]
socket=/var/lib/mysql/mysql.sock

Также проверьте этот связанный поток

Невозможно подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock

Ответ 7

После устранения моей проблемы:

Проверьте, где ваш MySQL-сервер перечислил: netstat -nlp Если он переписывает TCP, то используйте 127.0.0.1 при подключении к БД вместо "localhost"

Проверьте MySQL doc здесь

Ответ 8

Попробуй, это сработало для меня.

sudo/usr/local/mysql/support-files/mysql.server start

Ответ 9

После долгих часов работы работала только

sudo mysql.server start

Затем выполните безопасную установку с помощью

mysql_secure_installation 

Затем подключитесь к db через

mysql -uroot -p

Mysql устанавливается через доморощенный, и версия

Server version: 5.7.21 Homebrew

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

Ответ 10

Если вы используете XAMPP в Mac OS X и установили MySQL с Homebrew, у вас может возникнуть эта проблема. В окне диспетчера XAMPP перейдите в "Управление серверами" и выберите "MySQL", затем нажмите "Конфигурировать" и откройте файл конфигурации, там у вас есть путь к файлу сокета, поместите путь в конфигурацию вашего хоста MySQL и он должен работать.

Что-то вроде этого:

...
[client]
#password   = your_password
port        = 3306
socket      = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
...

то, например, в Django:

...    
DATABASES = {
        "default": {
            "ENGINE": "django.db.backends.mysql",
            "NAME": "database_name",
            "USER": "user",
            "PASSWORD": "password",
            "HOST": "/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock",
            "PORT": "",
        }
    }
...

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

Ответ 11

Я потратил много времени, занимаясь этим, я хочу разместить свое приложение django на своем сервере, и когда я запускаю python manage.py migrate я встречал эти вопросы

А также!! Я установил этот ln -s/var/run/mysqld/mysqld.sock/tmp/mysql.sock Это сработало окончательно!

Ответ 12

Я думаю, что я облажался, установив MySQL 8 в первую очередь. Мое приложение не совместимо с ним, поэтому мне пришлось вернуться к 5.7

Мое решение, которое работало для меня, собиралось /usr/local/etc/my.cnf

Найдите эту строку:

mysqlx-bind-address = 127.0.0.1 

Удалите его, потому что в журнале ошибок mysql он не понравился.

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

socket=/tmp/mysql.sock

который в журнале ошибок mysql не понравился.

Оттуда я побежал

>mysqld --initialize-insecure

Потом все заработало...

Запустите это, чтобы добавить мой безопасный пароль.

>mysql_secure_installation 

Оба

>brew services stop [email protected]

и

>mysql.server start

сейчас работают. Надеюсь это поможет. Это около 3 часов проб и ошибок.

Ответ 13

Для CentOS файл init mysql находится здесь:

/etc/init.d/mysqld start