Ошибка PID при запуске mysql.server?

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

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

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

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

 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 мог обновить формулу – за пределами моего масштаба и времени).

  • Как программа Java может получить свой собственный идентификатор процесса?
  • Может кто-нибудь объяснить структуру Пида в Эрланге?
  • Пакет PID приложения IIS
  • Как получить PID фонового процесса?
  • Как я могу получить PID родительского процесса моего приложения
  • Как найти идентификатор процесса (pid) процесса, запущенного в java?
  • Как проверить, существует ли процесс с данным pid в Python?
  • Как убить одну вкладку google chrome с помощью pid
  • Как убить сессию ssh, связанную с созданием / отключением?
  • Как проверить, существует ли идентификатор процесса (PID)
  • Как я могу перечислить все процессы, запущенные в Windows?
  • Interesting Posts

    Что такое $? (знак вопроса доллара) в сценариях оболочки?

    Автоматическая конфигурация конфигурации отсутствующего типа или неподдерживаемое отображение?

    Выход из Emacs очень медленный … Как устранить неполадки?

    Mockito Как издеваться над вызовом метода суперclassа

    Как восстановить зашифрованный раздел BitLocker, который теперь «нераспределен» / «свободное пространство»?

    Как изменить JDK по умолчанию для IntelliJ IDEA?

    Почему я не могу инициализировать нестационарный статический член или статический массив в classе?

    Как использовать sysprep и imagex для диска с одним, чем разделы?

    Насколько дорогим является RTTI?

    Зависимость от Maven для API Servlet 3.0?

    Как загружать чтение программы stdin и принимать параметры в gdb?

    Определить, было ли приложение загружено с Android Market

    Как экспортировать историю Skype?

    В чем разница между fx: id и id: в JavaFX?

    Как отключить Spotlight в Snow Leopard?

    Давайте будем гением компьютера.