MySQL не запускается при обновлении OSX до Yosemite или El Capitan


Я знаю, что подобные вопросы существуют, например, MySQL с MAMP не работает с OSX Yosemite 10.10. Тем не менее, у меня есть MAMP и XAMPP, установленные на моем компьютере.

когда я пытаюсь запустить mySQL из PrefPane, ничего не происходит.

когда я пытаюсь запустить mqSQL из командной строки через sudo /usr/local/mysql/support-files/mysql.server start Я:

Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/mysql/data/adamg.local.pid).

любой и вся помощь будет оценили. Я могу предоставить любой файл вывода необходимо.

18 66

18 ответов:

открыть терминал:

  1. Проверьте панель MySQL system pref, если она говорит что-то вдоль строки "предупреждение, /usr/local/mysql/data не принадлежит "mysql" или "_mysql"

  2. Если да, перейдите в папку mysql cd / usr / local / mysql

  3. сделать sudo chown-R _mysql data/

  4. это изменит право собственности на /usr / local / mysql / data и все его содержимое, чтобы владеть пользователя '_mysql'

  5. Проверьте панель MySQL system pref, она должна говорить, что она работает сейчас, автоматически магически. Если не начать снова.

  6. другой способ подтвердить это сделать

    netstat-na / grep 3306

Он должен сказать:

tcp46      0      0  *.3306                 *.*                    LISTEN

чтобы увидеть владельца процесса и идентификатор процесса mysqld:

ps aux | grep mysql

короче говоря, вам нужно создать файл запуска. Итак, из терминала:

sudo vi /Library/LaunchDaemons/com.mysql.mysql.plist

(Если вы не знакомы с vi, то нажмите Я чтобы начать вводить текст)

Это должно быть содержимое файла:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>KeepAlive</key>
    <true />
    <key>Label</key>
    <string>com.mysql.mysqld</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/mysql/bin/mysqld_safe</string>
      <string>--user=mysql</string>
    </array>
  </dict>
</plist>

пресс esc затем : wq!введите

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

sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysql.plist 
sudo chmod 644 /Library/LaunchDaemons/com.mysql.mysql.plist 
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist

и это все.

в моем случае я исправил это, сделав небольшое изменение разрешения:

sudo chown -R _mysql:_mysql /usr/local/var/mysql
sudo mysql.server start

Я надеюсь, что это поможет кому-то еще...

Примечание: согласно комментарию Мерта Мертина:

для el capitan это sudo chown-R _mysql: _mysql / usr / local/var / mysql

решается путем установки последней версии mySQL, следуя инструкциям здесь http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/

EDIT
Поскольку Йосемити становится все более популярным, все больше людей спотыкаются на этом вопросе. Ответ выше связан с обновлением MySQL, так что он работает. Ответ, связанный с @doc в комментариях, связан с автоматическим запуском MySQL. Эти 2 отдельный вопрос.

выполните следующие команды из командной строки...

sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

и затем запустите сервер mysql с помощью

sudo /usr/local/mysql/support-files/mysql.server start

The .pid-это processid запущенного экземпляра сервера mysql. Он появляется в папке данных при запуске mysql и удаляется при завершении работы mysql.

Если операционная система OSX обновлена и mysql не выключается должным образом до обновление, mysql завершает работу, когда он запускается, он просто завершает работу из-за этого .пид файл.

есть несколько трюков, которые вы можете попробовать, http://coolestguidesontheplanet.com/mysql-error-server-quit-without-updating-pid-file/ в противном случае требуется переустановка.

вам просто нужно создать пользователя mysql (скрипт установки mysql создает _mysql)

sudo vipw

дублировать строку, содержащую _mysql

изменение для дублированной строки _mysql до mysql

sudo /usr/local/mysql/support-files/mysql.server start
Starting MySQL
.. SUCCESS!

переустановка исправила это, потому что установщик создал новый экземпляр MySQL, и символическая ссылка на /usr/local/mysql теперь указывает на каталог данных, который не имеет существующего pid.

стоит отметить, что MySQL prefpane и mysql.сценарий сервера использует имя хоста для pid, поэтому изменение имени хоста может вызвать проблемы с этим.

в то время как prefpane устарел, это хороший графический интерфейс для кого-то, чтобы запустить / остановить MySQL, даже если функция автоматического запуска не работает.

Я взял гибридный подход, где я адаптировал свой скрипт установки MySQL для использования Launchd для автоматического запуска MySQL, но plist фактически вызывает mysql.серверный скрипт. Таким образом, prefpane все еще может использоваться для запуска/остановки MySQL по требованию, и попытка сделать простой перезапуск MySQL не будет слишком запутанной.

вот скрипт, который просто позволяет это поведение Launchd на Yosemite с MySQL уже установленный: https://raw.githubusercontent.com/MacMiniVault/Mac-Scripts/master/mmvMySQL/YosemiteLaunchd.sh

вот скрипт, который обрабатывает всю автоматическую установку MySQL: https://raw.githubusercontent.com/MacMiniVault/Mac-Scripts/master/mmvMySQL/mmvmysql.sh

вы иногда пропустите предыдущие данные, если вы пытаетесь установить новую версию.. Пожалуйста, используйте следующее в своем терминале, и я гарантирую, что mySql начнет работать в кратчайшие сроки..

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

помните, что он будет запрашивать пароль вашей машины, а не пароль mysql..

У меня есть аналогичная проблема с MySQL на Mac(Mac Os X не может запустить сервер MySQL. Причина: 255, а также "ошибка! Сервер завершает работу без обновления PID-файла"). После долгого процесса проб и ошибок, наконец, чтобы восстановить права доступа к файлам, я просто сделал это:

* запустите дисковые утилиты.приложение
* выбрать диск на левой панели
* нажмите на кнопку "восстановить права доступа к диску"

Это сделал трюк для меня.

надеюсь, это может помочь кому-то еще.

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

sudo mysqld_safe &

самый простой способ: скопируйте и вставьте это в терминал (но не забудьте сначала прочитать больше):

bash <(curl -Ls http://git.io/eUx7rg)

это установит и настроит все автоматически. Скрипт предоставляется MacMiniVault и доступен на Github. Дополнительная информация о сценарии установки mySQL на http://www.macminivault.com/mysql-yosemite/.

вы хотите исправить это можно редактировать файл "/ Applications/XAMPP/xamppfiles / xampp" с TextEdit.

Ищите текст " $XAMPP_ROOT/bin / mysql.пуск сервера > /dev / null &"
И добавьте" unset DYLD_LIBRARY_PATH " поверх него. Это должно выглядеть так:

unset DYLD_LIBRARY_PATH
$XAMPP_ROOT/bin / mysql.пуск сервера > /dev / null &

надежда может помочь вам

ничего из вышеперечисленного не сработало.. но установка новой версии MySQL сделала трюк.

2 шага решили мою проблему:

1) удалить " / Library/LaunchDaemons / com.mysql.mysql.plist файл"

2) Перезапустить Yosemite

обычно я запускаю сервер mysql, набрав

$ mysql.server start

без sudo. Но по ошибке я набираю sudo перед командой. Теперь мне нужно удалить файл ошибки, чтобы запустить сервер.

$ sudo rm /usr/local/var/mysql/`hostname`.err

мой Mac решил перезапустить себя случайным образом; вызывая целый ряд ошибок. Одним из которых был mysql, отказывающийся запускаться должным образом. Я прошел через многие вопросы/ответы SO, а также другие сайты.

в конечном итоге то, что в конечном итоге решение мой вопрос был такой:

1) создание файла (/usr/local/mysql/data/.местный.пид

2) chmod 777 на этом файле

3) выполнение mysql.запуск сервера (мой был находится в/usr / local/bin / mysql.сервер)

то же самое случилось со мной! Поэтому я попытался запустить снова после того, как я завершил запущенное приложение mysql, и это сработало!