Ошибка PID при запуске mysql.server? - PullRequest
31 голосов
/ 15 декабря 2010

Я только что попытался установить MySQL с помощью homebrew (в Mac OS X 10.6), но я столкнулся с проблемой при первом затруднении.При попытке вручную запустить сервер (запуск mysql.server) я получаю следующую ошибку:

. ERROR! Manager of pid-file quit without updating file.

К сожалению, я не уверен, какие журналы ошибок или файлы конфигурации проверять, так как я никогдатаким образом ранее установил MySQL.

Ответы [ 7 ]

33 голосов
/ 24 декабря 2010

Я столкнулся с этой же проблемой при установке через homebrew.Убедитесь, что вы выполнили следующие команды (которые перечислены во время установки, но их легко пропустить):

unset TMPDIR
mysql_install_db
16 голосов
/ 15 декабря 2010

вам, вероятно, нужно убедиться, что вы запускаете mysql от имени пользователя root - в противном случае у него не будет разрешения на запись PID-файла (следовательно, получаемой вами ошибки).

Попробуйте это:

sudo mysql.server start

вам будет предложено ввести пароль. (это предполагает, что ваша учетная запись пользователя имеет разрешения на «sudo» - что и должно быть, если только она не настроена как ограниченная учетная запись пользователя в OS X).

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

удачи!

6 голосов
/ 09 декабря 2012

Эти две команды должны решить вашу проблему.

> unset TMPDIR
> mysql_install_db --verbose --user=\`whoami\` --basedir="$(brew
--prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
6 голосов
/ 11 декабря 2011

Я столкнулся с той же проблемой при попытке установить MySQL 5.5.15 в Lion с помощью homebrew и решил проблему с помощью:

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

и создал файл ~ / my.cnf

с содержанием:

 [mysqld]
   basedir=/usr/local/Cellar/mysql/5.5.15
   datadir=/usr/local/var/mysql

basedir - должно быть текущим каталогом установки MySQL dir datadir - должно быть местоположение данных MySQL

Вы можете выяснить это тоже, посмотрев makeКоманда во время "brew install mysql" ищет что-то вроде этого:

-DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/mysql/5.5.15 -DMYSQL_DATADIR=/usr/local/var/mysql -DINSTALL_MANDIR=/usr/local/Cellar/mysql

Где DCMAKE_INSTALL_PREFIX = basedir и DMYSQL_DATADIR = datadir

5 голосов
/ 05 апреля 2016

Больше ничего не помогло, но сработало следующее:

$ ps aux | grep mysql
tagir           27260   0.0  1.0  3562356 175120   ??  S     2:52PM   0:00.42 mysqld --skip-grant-tables
tagir           42704   0.0  0.0  2434840    784 s000  S+    3:04PM   0:00.00 grep mysql
$ kill 27260
# Careful! This might erase your existing data
$ rm -rf /usr/local/var/mysql
$ mysqld --initialize
$ mysql.server start
3 голосов
/ 02 октября 2016

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

Кажется, это происходит, когда я что-то устанавливаю (например ,asticsearch или веб-сервер Puma).Разрешения MySql снова возвращаются (обратно ко мне, а не _mysql).Не знаю почему.

  • MacOS Sierra
  • Homebrew 1.0.5-43-g41b2df8 (2016-10-02)
  • MySQL 5.7.15

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

/usr/local/var/mysql

Если вы посмотрите в эту папку, вы увидитефайл

<your computer name>.err

Если вы заглянете внутрь этого файла (more it или cat it), вы, вероятно, увидите эту ошибку:

[ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable

Если это так, то вы ее знаетеэто проблема с правами доступа.

Если вам все равно, вы можете просто запустить MySQL, просто запустив mysqld (и оставить этот терминал открытым).

Если вам все равно:

ls -al /usr/local/var/mysql

вы заметите, что разрешения, вероятно, полностью установлены для вас (вашей учетной записи пользователя).Это означает, что mysql не может монтировать ваши базы данных, когда вы запускаете его с помощью ярлыка homebrew sudo mysql.server start [даже если вы используете sudo для запуска в режиме 'admin'].

Итак, измените разрешения:

$ sudo chown -R _mysql /usr/local/var/mysql
$ sudo chmod -R o+rwx /usr/local/var/mysql

Тогда будет работать.

1 голос
/ 05 марта 2013

По какой-то причине я не могу комментировать ниже Иммендес выше, но на 10.8.2 с mySQL 5.6.10, в дополнение к проверке db_install и добавлению my.cnf, мне также пришлось выбрать -R myusername/tmp/mysql.sock.

Похоже, что разрешить запуск MySQL под пользователем (в отличие от root или www, как я это делал в linux) - не лучшая идея в этом отношении (хотя Homebrew мог бы обновить формулу - вне моей компетенции).и время).

...