Mysqld.sock не существует

13

У меня есть сервер MySQL, работающий на Amazon EC2 в экземпляре VPC. Мне пришлось изменить тип его экземпляра для обработки нагрузки, и когда я вернул его обратно, сокет больше не существовал. Файл /var/run/mysqld/mysqld.sock не существует, равно как и каталог.

Я понятия не имею, куда это пошло, но это только ушло. Так есть ли способ это исправить? Если так, как? Сервер работает под управлением Ubuntu 10.04.

Дейв Лонг
источник

Ответы:

14

Подтвердите, что mysqld.sock не существует

sudo find / -type s | grep mysqld.sock

Убедитесь, что ваш /etc/mysql/my.cnfфайл согласен с тем, что файл должен быть / var / run / mysqld

socket  = /var/run/mysqld/mysqld.sock

и если это так, то

sudo mkdir -p /var/run/mysqld
sudo chown mysql /var/run/mysqld/
sudo service mysql restart

но я подозреваю, что ваша проблема лежит в другом месте, так как сценарий запуска mysql создаст каталог, если он не существует. Есть ли какое-либо соответствующее сообщение в ваших логах mysql?

- это английский путь
источник
Ну, это, казалось, все исправило. Я думаю, что проблема была в том, что я использовал mysqld и /etc/init.d/mysql start для запуска сервера, но я никогда не пробовал сервисный метод. Это был единственный, который создавал каталог и сокет.
Дейв Лонг
1
как ни странно, я получаю это каждый раз, когда захожу на свой сервер. и каждый раз, когда я должен применить это решение, чтобы исправить это. было бы здорово, если бы было какое-то постоянное исправление.
Герман Ингьялдссон
Я получил сообщение об ошибке типа «ошибка: найдена опция без предшествующей группы в файле конфигурации: /etc/mysql/my.cnf в строке: 24 Неустранимая ошибка при обработке значений по умолчанию. Программа прервана»
Blairg23
Спасибо .. у меня та же проблема, я отредактировал файл /etc/mysql/my.cnf и добавил socket = /var/run/mysqld/mysqld.sock, работа сервера mysql началась после перезапуска.
Бхагват Ланде