Ответ 1
Попробуйте запустить сервер MySQL:
mysql.server start
Я установил сервер 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. Может ли кто-нибудь помочь мне с этой проблемой?
Попробуйте запустить сервер MySQL:
mysql.server start
Я получил тот же вопрос после обновления OS X Yosemite, ну, решение довольно простое, проверьте системное предпочтение → mysql, статус STOP. Просто перезапустите его, и теперь он отлично работает на моем mac.
Для MAMP
ln -s /Applications/MAMP/tmp/mysql/mysql.sock /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
Следующая команда разрешила мою проблему:
sudo chown -R _mysql:mysql /usr/local/var/mysql
sudo mysql.server start
После попытки всех решений он работал только для меня после указания хоста
mysql -u root -p -h127.0.0.1
при запросе пароля
Enter password:
нажмите enter
и он будет работать, если все будет в порядке, как указано выше.
В вашем конфигурационном файле mysql, который присутствует в /etc/my.cnf
, выполните следующие изменения, а затем перезапустите mysqld
процесс dameon
[client]
socket=/var/lib/mysql/mysql.sock
Также проверьте этот связанный поток
Невозможно подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock
После устранения моей проблемы:
Проверьте, где ваш MySQL-сервер перечислил: netstat -nlp Если он переписывает TCP, то используйте 127.0.0.1 при подключении к БД вместо "localhost"
Проверьте MySQL doc здесь
Попробуй, это сработало для меня.
sudo/usr/local/mysql/support-files/mysql.server start
После долгих часов работы работала только
sudo mysql.server start
Затем выполните безопасную установку с помощью
mysql_secure_installation
Затем подключитесь к db через
mysql -uroot -p
Mysql устанавливается через доморощенный, и версия
Server version: 5.7.21 Homebrew
Указание версии может быть полезно, поскольку решение может отличаться в зависимости от версии.
Если вы используете 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": "",
}
}
...
Надеюсь, что это поможет.
Я потратил много времени, занимаясь этим, я хочу разместить свое приложение django на своем сервере, и когда я запускаю python manage.py migrate
я встречал эти вопросы
А также!! Я установил этот ln -s/var/run/mysqld/mysqld.sock/tmp/mysql.sock
Это сработало окончательно!
Я думаю, что я облажался, установив 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 часов проб и ошибок.
Для CentOS файл init mysql находится здесь:
/etc/init.d/mysqld start