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 ответов:
открыть терминал:
Проверьте панель MySQL system pref, если она говорит что-то вдоль строки "предупреждение, /usr/local/mysql/data не принадлежит "mysql" или "_mysql"
Если да, перейдите в папку mysql cd / usr / local / mysql
сделать sudo chown-R _mysql data/
это изменит право собственности на /usr / local / mysql / data и все его содержимое, чтобы владеть пользователя '_mysql'
Проверьте панель MySQL system pref, она должна говорить, что она работает сейчас, автоматически магически. Если не начать снова.
другой способ подтвердить это сделать
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-файла"). После долгого процесса проб и ошибок, наконец, чтобы восстановить права доступа к файлам, я просто сделал это:
* запустите дисковые утилиты.приложение
* выбрать диск на левой панели
* нажмите на кнопку "восстановить права доступа к диску"Это сделал трюк для меня.
надеюсь, это может помочь кому-то еще.
самый простой способ: скопируйте и вставьте это в терминал (но не забудьте сначала прочитать больше):
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 &надежда может помочь вам
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.сервер)