Файл PID сервера MySQL не найден

16

Я могу запустить MySQL нормально,

/usr/local/mysql/support-files/mysql.server start
Starting MySQL
SUCCESS! 

Но любое действие MySQL после этого я получаю ошибку:

Файл PID сервера MySQL не найден

/usr/local/mysql/support-files/mysql.server stop
ERROR! MySQL server PID file could not be found!

Где найти файл PID сервера на Mac с OSX 10.8? Мне интересно, если это проблема с разрешением. Файл mysql.sock - это символическая ссылка, указывающая на файл в каталоге tmp /.

sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
simpleengine
источник

Ответы:

12

В вашем файле конфигурации mysql - my.cnfпроверьте параметр pid-fileи посмотрите, куда он указывает. Если его там нет, установите его вручную на -

pid-file    = /var/run/mysqld/mysqld.pid

Создайте каталог /var/run/mysqld/и дайте ему соответствующие разрешения -

  mkdir /var/run/mysqld
  touch /var/run/mysqld/mysqld.pid
  chown -R mysql:mysql /var/run/mysqld
Даниил Т.
источник
Хорошо, я пытаюсь это Я дам вам знать, как это происходит
simpleengine
Отлично, ты гений. Оно работает. Единственное, чего не хватало, это строкового pid-файла в my.cnf, мне пришлось дважды запустить /usr/local/mysql/support-files/mysql.server для устранения ошибки
simpleengine
Я не могу найти pid-файл в my.cnf .. могу ли я добавить эту строку pid-file = /var/run/mysqld/mysqld.pid??
Понедельник,
да, если вы получаете сообщение об ошибке «PID file not found».
Даниил Т.
@ Danielt.спасибо за ваш ответ. Я попробовал то, что вы сказали .. ошибка теперь меняется, чтобы ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).у вас есть идеи ?! : |
Мона
12

Этот вопрос несколько устарел, но я решил опубликовать, как я решил эту проблему, когда это случилось со мной на моем Mac (OS X El Capitan 10.11.4).

Проверьте статус, чтобы быть уверенным

mysql.server status

ОШИБКА! MySQL работает, но PID-файл не найден

Найти все запущенные процессы mysql

ps aux | grep mysql

Он перечислит все процессы, использующие mysql (включая только что выполненную команду)

Убить все mysql pids

sudo kill <pid1> <pid2> <pid3> ...

Это должно убить все процессы MySQL

Теперь попробуйте запустить MySQL вверх

mysql.server start

Запуск MySQL. УСПЕХ!

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

Rockin4Life33
источник
1
ОШИБКА! Сервер вышел без обновления файла PID
Nisanio
1
@ Nisanio Наряду с ERROR! The server quit without updating PID fileэтим дает ссылку на файл .pid? Может быть, что-то похожееERROR! The server quit without updating PID file (/usr/local/mysql/data/<userName>.<pidFileName>.pid)
Rockin4Life33
1
Это сработало для меня community.jaspersoft.com/wiki/uninstall-mysql-mac-os-x . Мне пришлось заварить удаление mysql, затем удалить ВСЕ файлы, затем переустановить и следовать инструкциям по установке home brew
Даниэль Тейт,
@DanielTate Спасибо за добавление этого в ж / ссылку. Должно быть полезным для других!
Rockin4Life33
1
ps aux | grep [m]ysqlпоможет предотвратить самореализацию grep
Snekse
0

Основная проблема, вероятно, заключается в том, что ваше имя хоста меняется, и если вы не укажете pid-файл в my.cnf, он будет использовать .pid в качестве файла. Если у меня дома есть мой MacBook, я увижу одно имя хоста, но когда он проснется в корпоративной сети, он увидит то же имя с «.local» в конце.

Джефф Коулман
источник