Назад | Перейти на главную страницу

Не удалось найти файл PID сервера MySQL

Я могу запустить 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

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

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

mysql.server status

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

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

ps aux | grep mysql

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

Убейте все pid-файлы mysql

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

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

Теперь попробуйте запустить mysql.

mysql.server start

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

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


EDIT: альтернативное решение от @DanielTate

Это сработало для меня JasperSoft Wiki - удалить-mysql-mac-os-x. Мне пришлось удалить mysql, затем удалить ВСЕ файлы, затем переустановить и следовать инструкциям по установке home brew


РЕДАКТИРОВАТЬ 2: Альтернативное решение от @JanacMeena

В этой статье есть прекрасное описание их решения. опубликовать на Medium.

В вашем файле конфигурации 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

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