Невозможно создать PID-файл на сервере MySQL, отказано в доступе

Невозможно создать PID-файл на сервере MySQL, отказано в доступе

Сервер MySQL не запускается и выдает следующую ошибку:

/usr/local/mysql/bin/mysqld: Невозможно создать/записать файл '/usr/local/mysql/data/James-Barnhills-Mac-Pro.local.pid' (код ошибки: 13)
Невозможно запустить сервер: невозможно создать PID-файл: Отказано в доступе

Все разрешения устанавливаются рекурсивно следующим образом:

lrwxr-xr-x 1 _mysql wheel 27 Nov 22 09:25 mysql -> mysql-5.5.18-osx10.6-x86_64

но он не запускается. Я пробовал переустанавливать несколько раз, но безрезультатно.

Я работаю как root на Mac OS, и MySQL имеет разрешения на чтение, запись и выполнение для папки «data».

решение1

Ошибки прав доступа возникают из-за того, что у вас каталог установлен на восьмеричное разрешение 0751. Это означает, что пользователь может читать, писать и выполнять, но все остальные не могут. Поскольку вы не пользователь _mysql, у вас нет прав. Вы можете сделать две вещи, чтобы исправить это.

  • Вы можете запустить его, поместив sudo перед командой, используемой для запуска службы mysqld.

    sudo служба mysqld запуск

  • Вы можете рекурсивно установить разрешения на 0771. Это позволит группе wheel (администратору) выполнять запись в каталог.

решение2

Это не потому, что вы запускаете mysql как root, он на самом деле запускается как этот пользователь. Проверьте /etc/my.cnf и сравните, является ли владелец каталога данных mysql тем же, что указан в параметре user=mysql_owner.

Если это, например, «mysql», то root переключается на этого пользователя (за кулисами) перед запуском mysql.

Связанный контент