Программы
MySQL. Решение проблемы «/var/run/mysqld/mysqld.sock не найден»

MySQL. Решение проблемы «/var/run/mysqld/mysqld.sock не найден»

Работая с базой данных MySQL, можно столкнуться с проблемой: при старте демона(сервиса) mysqld возвращается сообщение об ошибке

Работая с базой данных MySQL, можно столкнуться с проблемой: при старте демона(сервиса) mysqld возвращается сообщение об ошибке (in english):

ERROR 2002 (HY000): Can't connect
to local MySQL server through
socket '/var/run/mysqld/mysqld.sock' (2)

Эта же ошибка в логах выглядит так:

[ERROR] Can't start server : Bind on unix socket: No such file or directory
[ERROR] Do you already have another mysqld server running on socket: /var/run/mysqld/mysqld.sock ?

В большинстве случаев можно "выключить и включить"

sudo killall -9 mysqld
sudo /etc/init.d/mysql start

Но вернёмся к разбору самой ошибки! MySQL демон не может подключиться к Unix-сокету. А такое может произойти по двум причинам:

  1. кто-то уже занял сокет;
  2. MySQL не может получить доступ к сокету (например, его нет).

Для проверки первого варианта можно попробовать узнать: а не занимает ли кто-то этот файл.

sudo lsof /var/run/mysqld/mysqld.sock

В результате получаем нечто подобное:

COMMAND PID  USER   FD   TYPE  DEVICE     SIZE/OFF NODE NAME
mysqld  1299 mysql  6u   unix  0xf688b840 0t0      7877 /var/run/mysqld/mysqld.sock

где видно, кто занял файл. Или же

...
lsof: status error on /run/mysqld/mysqld.sock: No such file or directory
...

— файл отсутствует.

В первом случае всё ясно — либо так и надо, либо отключаем приложение, занявшее сокет.

Во втором случае стоит создать сокет и/или сделать его доступным mysql, для этого выполняем:

sudo mkdir /var/run/mysqld
sudo mkfifo /var/run/mysqld/mysqld.sock
sudo chown -R mysql /var/run/mysqld

Построчно:

  • создаём папку, в которой должен лежать файл сокета;
  • создаём сам сокет командой mkfifo (хотя сокет — это тоже файл, создавать его можно только специальной программой — mkfifo);
  • устанавливаем владельцем папки /var/run/mysqld пользователя mysql.

После чего MySQL уже должен нормально работать.

Также может быть вам интересно:

Нулевое занятие по Операционным Системам

Будьте аккуратны – с каждой заметкой вы становитесь чуть ближе к высшему образованию в областях "компьютерные науки" и "компьютерная безопасность".

Читать »

Как обновить git fork (на github)

Уже некоторое время силами сообщества 900913 переводим tldr на русский – краткие руководства по командам Linux, MacOS и т.д. В октябре за переводы взялись с новой силой – возможно, тому причина hacktoberfest от digitalocean и github.

Читать »
Фото Как настроить отправку почты из Django

Как настроить отправку почты из Django

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

Фото Добавляем поддержку медиа-файлов в Django проект

Добавляем поддержку медиа-файлов в Django проект

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

Фото Настройка журналирования (логирования) в Python с примерами

Настройка журналирования (логирования) в Python с примерами

Во время работы программы часто нужно сохранять некоторые важные записи о процессе выполнения команды. В Python есть довольно мощный модуль для работы с логами - давайте разберёмся с тем, как его использовать.

Фото Так ли безопасен Linux? Несколько коммитов с уязвимосятми в stable

Так ли безопасен Linux? Несколько коммитов с уязвимосятми в stable

Исследователи сумели пройти code-review с реквестами в ядро Linux, заведомо содержащими добавление уязвимостей.

Фото Панель администрирования Django - настройка вида (шаблона)

Панель администрирования Django - настройка вида (шаблона)

Простой способ подключить админку к сайту на Django, как сконфигурировать адмиин-панель, как изменить оформление администрационной панели Django фреймворка.

Фото Панель администрирования Django - подключение, настройка, поиск, фильтрация

Панель администрирования Django - подключение, настройка, поиск, фильтрация

Простой способ подключить админку к сайту на Django, как сконфигурировать адмиин-панель и добавить функциональность поиска, массовых действий, как изменить оформление администраторской панели Django фреймворка.

Фото И снова sudo, и снова "решето"

И снова sudo, и снова "решето"

В утилите sudo была исправлена очередная уязвимость.

Фото Google прекращает поддержку сторонних приложений в API Chrome-like

Google прекращает поддержку сторонних приложений в API Chrome-like

Гугл отключает всех пользователей Chrome-зависимых API. Зачем? К чему это приведёт?