Подтвердить что ты не робот

После того, как MySQL установит через Brew, я получаю сообщение об ошибке. Сервер завершает работу без обновления PID файла

Хорошо, я обыскал все и потратил немало времени на установку, деинсталляцию, попытку выбора, но без успеха.

Я нахожусь в Mac OS X Lion (10.7.3) и пытаюсь настроить Python, MySQL.

Я успешно установил Python и MySQL через HomeBrew. Python отлично работает.

После установки MySQL я выполнил первые два шага - unset и команды mysql_install_db.

Теперь, когда я пытаюсь запустить mysql "mysql.server start", я получаю следующую ошибку

ERROR! The server quit without updating PID file (/usr/local/var/mysql/Brajeshwar.local.pid).
  • Brajeshwar - мое имя пользователя на моей машине.
4b9b3361

Ответ 1

EDIT 2012/09/18: Как указано указанным Kane, убедитесь, что база данных mysql правильно настроена, прежде чем делать что-либо еще. См. "Ошибка PID при запуске mysql.server?" для получения дополнительной информации.

Оригинальный ответ сохранен для истории: Скорее всего, это проблема с разрешениями. Проверьте /usr/local/var/mysql/*.err. Мой сказал:

120314 16:30:14  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
120314 16:30:14 mysqld_safe mysqld from pid file /usr/local/var/mysql/janmoesen.local.pid ended

Я также должен был сделать это:

sudo chown _mysql /usr/local/var/mysql/*

Ответ 2

Я обнаружил, что это проблема с правами на доступ к папке mysql.

chmod -R 777 /usr/local/var/mysql/ 

решил это для меня.

Ответ 3

Я закончил с полной переустановкой mysql, и это, наконец, сработало.

ВНИМАНИЕ! Это удалит все ваши базы данных, поэтому сначала сохраните дампы.

brew remove mysql
brew cleanup
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /usr/local/var/mysql

brew install mysql
mysqld --initialize --explicit_defaults_for_timestamp
mysql.server start # no sudo!

Ответ 4

У меня была эта проблема на mac 10.10.5 Yosemite

Что я сделал для решения этой проблемы?

cd /usr/local/var/mysql
sudo rm *.err && sudo rm *.pid
sudo reboot
sudo mysql.server start

Ответ 5

Ноябрь 2014: Если вы получаете эту ошибку в MySQL 5.6.x на Mac OS X Mavericks или Yosemite и хотите использовать MySQL с PHP локально (/tmp/mysql.sock - это то место, где PHP PDO ожидает найти носок файл), вот что исправило это для меня:

1) Раскомментируйте стандартные строки файла конфигурации homebrew и отредактируйте, как показано ниже

$ sudo vi /usr/local/Cellar/mysql/5.6.21/my.cnf
...
basedir = /usr/local/Cellar/mysql/5.6.21
datadir = /usr/local/var/mysql
port = 3306
server_id = <UNIQUE_NUMBER_HERE_OR_LEAVE_COMMENTED_OUT>
socket = /tmp/mysql.sock
pid-file = /usr/local/var/mysql/[BOXNAME].local.pid
....

BOXNAME - это то, что у вас есть в вашей системе Prefs → Network как уникальный идентификатор вашего компьютера в сети.

2) Установите разрешения для всех файлов в datadir mysql. Все они принадлежали [my_username]. MySQL очень разборчив и отказывается создавать файл pid, если он (пользователь _mysql) не владеет каталогом.

$ sudo chown -R _mysql:mysql /usr/local/var/mysql

3) Запустите MySQL с помощью bash помощника/оболочки script:

$ sudo mysql.server start
Starting MySQL
. SUCCESS! 

Надеюсь, что это поможет. Если вышеуказанное не работает для вас, попробуйте запустить двоичный файл mysqld_safe вручную в каталоге Cellar/mysql/VERSION_/bin/и проверьте, какие настройки (если он выполняется)

sudo /usr/local/Cellar/mysql/5.6.12/bin/mysqld_safe &

Если это выполняется, вы можете

ps aux | grep mysql 

и увидеть что-то вроде

[username]  6881   0.0  2.7  3081392 454836   ??  S     8:52AM   0:00.54 /usr/local/Cellar/mysql/5.6.21/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.6.21 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.6.21/lib/plugin --verbose --log-error=/usr/local/var/mysql/BOXNAME.local.err --pid-file=/usr/local/var/mysql/BOXNAME.local.pid

Я не уверен, почему это сработало для меня, но оно показывает вам, откуда я получил параметры файла конфигурации my.cnf. Вы также можете использовать параметры командной строки, чтобы попытаться устранить неполадки при запуске mysqld вручную.

Если вы выполняете управление сервером MySQL с помощью mysqld_safe, вам, возможно, придется это сделать, чтобы закрыть его, прежде чем пытаться использовать помощник mysql.server bash. Устраните желание убить -9 [PID], потому что вы можете повредить свои данные.

mysqladmin -uroot shutdown

Удачи!

Ответ 6

У меня была такая же проблема на OS X El Capitan, вот последовательность команд терминала, которая исправила ее для меня.

Удалить файлы ошибок (вам придется изменить путь в зависимости от вашей установки)

sudo rm /usr/local/mysql/data/*.err

Найдите информацию о процессе mysql, который все еще работает и убил его:

ps -A | grep -m1 mysql | awk '{print $1}' | sudo xargs kill -9

Теперь перезапустите MySQL:

/usr/local/mysql/support-files/mysql.server start

Ответ 7

Это сработало для меня:

sudo chmod -R 777 /usr/local/var/mysql/
sudo /usr/local/mysql/support-files/mysql.server start

Ответ 8

Если я правильно помню, это проблема с разрешениями. Попробуйте "коснуться" и "chmod" файл pid или папку, в которой хранится файл.

Ответ 9

Моя проблема заключалась в том, что я запустил сервер как sudo один раз, а затем попытался перезапустить его как локального пользователя.

Здесь mysql не смог записать файл '.err', принадлежащий root. Мне пришлось удалить этот файл и перезапустить сервер:

sudo rm /usr/local/var/mysql/*.err
mysql.server start

Ответ 10

Это работало для меня 10.12.2:

$ rm /usr/local/var/mysql/*.err

затем

$ brew services restart mysql

Ответ 11

У меня возникла аналогичная проблема с MySQL на Mac (Mac Os X Не удалось запустить сервер MySQL. Причина: 255, а также "ОШИБКА! Сервер завершает работу без обновления PID файла" ). После длительного процесса проб и ошибок, наконец, чтобы восстановить права доступа к файлам, Ive просто делает это:

запустите Disk Utilities.app
выберите мой диск на левой панели
нажмите кнопку "Восстановить права на диск"




Это помогло мне. Надеюсь, это поможет кому-то другому.

Ответ 12

Для меня это сработало с:

unset TMPDIR
mysql_install_db --user=`whoami` --basedir="$(brew --prefix mariadb)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

Ответ 13

Что для меня работало:

  • Перейдите в каталог установки mysql
  • sudo chmod -R 777 data
  • Затем верните один каталог
  • cd support-files/
  • sudo ./mysql.server start

После этого сервер запустился.

Но проблема с этим методом заключается в том, что я должен повторять это каждый раз, когда хочу начать mysql. Не знаю, почему это началось так внезапно.

Ответ 14

Найдите файл usr/local/var/mysql/your_computer_name.local.err и узнайте больше информации об ошибке

Местоположение:/usr/local/var/mysql/your_computer_name.local.err

Вероятно, проблема с разрешениями

  • Найти, если mysql запущен и убить его

ps -ef | grep mysql

kill -9 PID

где PID - это второе значение столбца  2. проверить принадлежность mysql

ls -laF/usr/local/var/mysql/

if it is owned by root, change it mysql or your user name



sudo chown -R mysql/usr/local/var/mysql/

Ответ 15

Попробуйте это (OSX)

Шаг 1: ps -aux | grep mysql ps -aux | grep mysql

Затем убить 4-значный номер PID

Шаг 2: kill 1965

Шаг 3: mysql.server start

Или вам будет трудно найти эти номера PID, попробуйте это ниже

Шаг 1 снова: ps -aux | grep mysql ps -aux | grep mysql

Шаг 2 снова: killall

Шаг 3 снова: mysql.server start

Ответ 16

Это проблема с разрешением файла. Проверьте разрешения и ремонт диска.

Osx = > Cmd + Space = > Disk Utilty = > Проверить разрешения на диск.

Проверка завершена после устранения разрешений на ремонт. Команда запуска mysql.server работает успешно.

Ответ 17

sudo chmod -R 777 /usr/local/var/mysql/

работает для меня.

Ответ 18

У меня была такая же проблема:

Но ситуация была, каждый раз, когда я пытаюсь войти:

/usr/local/mysql/support-files/mysql.server start

создается файл с именем localhost.pid вместо iMax0.local.pid, который был указан в ошибке:

ERROR! The server quit without updating PID file (/usr/local/mysql/data/iMax0.local.pid).

Решение, которое работает для меня, - это копирование localhost.pid и переименование его на iMax0.local.pid.

Ответ 19

У меня была аналогичная проблема. Но следующие команды сохранили меня.

cd /usr/local/Cellar
sudo chown _mysql mysql

Ответ 20

Мое решение на OSX El Capitan было:

sudo chmod ugo+w /tmp

Он внезапно сломался.

Ошибка:

ERROR! The server quit without updating PID file

и журнал показал:

Can't start server : Bind on unix socket: Permission denied

Также может быть полезно отметить, что по умолчанию в OSX нет файла my.cnf по умолчанию и не требуется по умолчанию, чего я не знал. Удачи!

Ответ 21

$ sudo mysql.server restart

Это работает для меня.

Ответ 22

Ни один из ответов не работал у меня. Однако я просто сделал sudo mysql.server start, и он работал хорошо.

Кроме того, для меня это не отображало проблемы с разрешениями в файле *.err.

Ответ 23

У меня была эта проблема в Linux, но причина имеет отношение к любой установке mysql. В моем случае сервер сработал, прежде чем запуск завершился, и файл pid обновился. Сообщения об ошибках были видны при запуске mysqld напрямую, а не через "service mysql start".

В моем случае причиной был раздел, в котором были размещены файлы журнала. Удаление файлов журнала позволило mysql начать снова. Чтобы проверить эту проблему, перейдите в расположение журналов активности mysql и выполните df ..

Ответ 24

Если вы обновили установку MySQL до 8.x, проверьте, поддерживается ли ваша предыдущая версия для обновления.

Если нет, MySQL не будет работать! Удалите mysql вместе со всеми файлами конфигурации в /usr/local/var/mysql (удалите всю папку). Переустановите mysql.

ПРИМЕЧАНИЕ: переустановка может привести к потере данных.

Ответ 25

все решения выше не работает для меня. но они дают мне некоторые подсказки, чтобы исправить эту ошибку.

mysql.server start ----error Сервер вышел без обновления файла PID

Я установил [email protected] на мохаве MacBook с домашним пивом

brew install [email protected]

Журнал ошибок mysql находится в /usr/local/var/mysql/IU.lan.err, там есть одна строка: Не удается открыть и заблокировать таблицы привилегий: таблица "mysql.user" не существует

перепробовав много постов в поисковике гул, я обратился к байду https://blog.csdn.net/xhool/article/details/52398042 вдохновленный этим постом, я нашел решение:

rm/usr/local/var/mysql/*

mysqld --initialize

случайный пароль для пользователя root будет показан в bash. но команда mysql -uroot -p [theRandomPassword] не может работать. Поэтому мне нужно сбросить пароль. создайте файл инициализации с таким содержимым

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

поместите его в любой каталог, который легко найти, например, на рабочий стол

mysqld --init-file=[YourInitFile] &

на вашем экране напечатано много журналов.

mysql -uroot -pMyNewPass

наслаждайтесь своей высокой версией mysql!

Ответ 26

Пожалуйста, проверьте журнал, вы получите более подробную информацию.

Используйте приведенную ниже команду для отслеживания журнала ошибок

tail -100 /usr/local/var/mysql/<user_name>.local.err

Для меня один каталог отсутствует, после того, как созданный сервер запущен.

Ответ 27

При установке из исходного кода следуйте инструкциям в файле INSTALL-SOURCE

где инструкция по установке приведена в section 2.8

после установки, проверьте, есть ли какой-либо процесс mysql с ps aux | grep mysql

Вы найдете это как

root      1817  0.0  0.0 108336  1228 ?        S    Jan21   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mail.gaurav.local.pid
mysql     2141  0.0  1.2 497660 24588 ?        Sl   Jan21   0:26 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/mail.gaurav.local.err --pid-file=/usr/local/mysql/data/mail.gaurav.local.pid --socket=/tmp/mysql.sock --port=3306
root      5659  0.0  0.0 103256   840 pts/13   S+   11:30   0:00 grep mysql

kill весь процесс, связанный с mysql, а затем попытайтесь запустить сервер mysql

Ответ 28

Сначала mv -f /var/lib/mysql /var/lib/mysql.bak и попробуйте выполнить команду mysql_install_db --user=mysql --ldata=[destination] заменить место назначения каталогом данных, после чего запустите MySQL с помощью /etc/init.d/mysql restart