Ошибка PID при запуске mysql.server?
Я просто пытался установить MySQL с помощью homebrew (в Mac OS X 10.6), но я столкнулся с проблемой при первом препятствии. При попытке вручную запустить сервер (запуск mysql.server) я получаю следующую ошибку:
. ERROR! Manager of pid-file quit without updating file.
К сожалению, я не уверен, какие журналы ошибок или файлы конфигурации проверяются, поскольку я никогда раньше не устанавливал MySQL.
- Android - Как получить имя процесса или имя пакета с помощью PID?
- получить имя процесса из идентификатора процесса (win32)
- Какие процессы, если они существуют, существуют между PID 0 и 4 в Windows 7?
- Если streamи разделяют один и тот же PID, как их можно идентифицировать?
- Порт 80 используется SYSTEM (PID 4), что это?
- Как определить завершенный процесс Windows, если у меня все еще есть его PID?
- Как захватить PID процесса при его запуске из командной строки?
- Не удалось подключиться к идентификатору процесса Xcode
- Найти мой собственный идентификатор процесса в VBScript
- Нет необходимости экспортировать при запуске функций в подоболочке
- Как получить PID процесса, который я только начал в java-программе?
- Запустите процесс и верните его PID (как CHP.EXE) для пакетного файла
- PID: 4 с использованием порта 80
Я столкнулся с этой проблемой при установке через доморощенный. Убедитесь, что вы выполняете эти команды (которые перечислены во время установки, но их легко пропустить):
unset TMPDIR mysql_install_db
вам, вероятно, необходимо убедиться, что вы используете mysql в качестве пользователя root
иначе он не будет иметь права на запись файла PID (таким образом, вы получите ошибку).
Попробуй это:
sudo mysql.server start
вам будет предложено ввести пароль. (это предполагает, что ваша учетная запись пользователя имеет разрешения на «sudo» – что она должна, если она не установлена как ограниченная учетная запись пользователя в OS X).
Это может быть не единственная проблема, но в любом случае она должна довести вас до следующего шага.
удачи!
Я столкнулся с той же проблемой при попытке установить 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 datadir 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
Я добавляю это здесь, потому что я столкнулся с этой проблемой несколько раз после установки другого программного обеспечения. MySQL работал отлично в течение нескольких дней, а затем внезапно я получил эту ошибку.
Это происходит, когда я устанавливаю что-то (например, elasticsearch или веб-сервер Puma). Разрешения MySql снова возвращаются (обратно ко мне, а не _mysql
). Не знаю, почему.
- MacOS Sierra
- Homebrew 1.0.5-43-g41b2df8 (2016-10-02)
- MySQL 5.7.15
Поэтому я обнаружил, что одной из причин этого являются разрешения на местоположение, где MySQL хранит ваши базы данных, которые по умолчанию здесь:
/usr/local/var/mysql
Если вы посмотрите в эту папку, вы увидите файл
.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 для запуска в режиме «admin»].
Итак, измените разрешения:
$ sudo chown -R _mysql /usr/local/var/mysql $ sudo chmod -R o+rwx /usr/local/var/mysql
Тогда это сработает.
Ничто другое не помогло, но работали:
$ 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
По-видимому, по какой-либо причине я не могу комментировать ниже Immendes выше, но по 10.8.2 с mySQL 5.6.10, помимо проверки db_install и добавления my.cnf, мне также пришлось chown -R myusername / tmp / mysql.sock.
Похоже, что разрешение mySQL для работы под пользователем (как это было указано в root или www, как я это делаю в Linux) не является лучшей идеей в этом отношении (хотя Homebrew мог обновить формулу – за пределами моего масштаба и времени).