Вопрос

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

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

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

Это было полезно?

Решение

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

unset TMPDIR
mysql_install_db

Другие советы

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

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

sudo mysql.server start

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

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

удачи вам!

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

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

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

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

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

$ 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

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

Кажется, это происходит, когда я что -то устанавливаю (например, Elasticsearch или Puma Web Server). Разрешения 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 это или cat это) вы, вероятно, увидите эту ошибку:

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

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

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

Если вы заботитесь:

ls -al /usr/local/var/mysql

Вы заметите, что разрешения, вероятно, все настроены для вас (ваша учетная запись пользователя). Это означает, что MySQL не может установить ваши базы данных, когда вы запускаете их, используя домашний ярлык sudo mysql.server start Даже если вы используете Sudo для запуска в режиме «администратора»].

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

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

Тогда это сработает.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top