Ошибка PID при запуске mysql.server?
Вопрос
Я только что попробовал установить 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 может обновить формулу - за пределами моей области и времени).