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).
Любая помощь будет оценена по достоинству. Я могу предоставить любой необходимый файл.
Ответы
Ответ 1
Решена, установив последнюю версию mySQL, следуя инструкциям здесь http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/
ИЗМЕНИТЬ
По мере того, как Йосемити становится более популярным, на этот вопрос натыкается больше людей. Ответ выше связан с обновлением MySQL, так что он работает. Ответ, связанный с @doc в комментариях, связан с тем, что MySQL запускается автоматически. Это две отдельные проблемы.
Ответ 2
Откройте терминал:
-
Проверьте панель предустановок системы MySQL, если она что-то говорит по строке "Предупреждение,/usr/local/mysql/data не принадлежит" mysql "или" _mysql "
-
Если да, перейдите в папку mysql cd/usr/local/mysql
-
выполните sudo chown -R_mysql данные /
-
Это изменит право собственности на /usr/local/mysql/data и весь его контент, чтобы он владел пользователем _mysql
-
Проверьте панель Pref для панели управления MySQL, она должна сказать, что она работает сейчас, автоматически-магически. Если не начать снова.
-
Еще один способ подтвердить - сделать
netstat -na | grep 3306
Он должен сказать:
tcp46 0 0 *.3306 *.* LISTEN
Чтобы просмотреть владельца процесса и идентификатор процесса mysqld:
ps aux | grep mysql
Ответ 3
Короче говоря вам нужно создать файл запуска. Итак, из терминала:
sudo vi /Library/LaunchDaemons/com.mysql.mysql.plist
(Если вы не знакомы с vi, затем нажмите i, чтобы начать вставлять текст)
Это должно быть содержимое вашего файла:
<?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, затем : w q ! enter
Затем вам нужно предоставить файлу правильные разрешения и настроить загрузку при запуске.
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
И это все.
Ответ 4
В моем случае я исправил это, сделав небольшое изменение разрешения:
sudo chown -R _mysql:_mysql /usr/local/var/mysql
sudo mysql.server start
Я надеюсь, что это поможет кому-то еще...
Примечание: В соответствии с мнением Мерта:
Для el capitan это sudo chown -R_mysql: _mysql/usr/local/var/mysql
Ответ 5
Выполните следующие команды из командной строки...
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
Ответ 6
.pdf - это processid исполняемого экземпляра сервера mysql. Он появляется в папке с данными при запуске mysql и удаляется, когда mysql завершает работу.
Если операционная система OSX обновлена, а mysql не будет нормально завершена до, то mysql завершает работу, когда она запускается, она просто завершает работу из-за файла .pid.
Есть несколько трюков, которые вы можете попробовать, http://coolestguidesontheplanet.com/mysql-error-server-quit-without-updating-pid-file/, в противном случае требуется переустановка.
Ответ 7
Вам просто нужно создать пользователя mysql
(mysql installation script создает _mysql)
sudo vipw
повторяющаяся строка, содержащая _mysql
Изменить для дублированной строки _mysql
на mysql
sudo /usr/local/mysql/support-files/mysql.server start
Starting MySQL
.. SUCCESS!
Ответ 8
Повторная установка исправлена, потому что установщик создал новый экземпляр MySQL, а символическая ссылка на /usr/local/mysql теперь указывает на каталог данных, у которого нет существующего pid.
Стоит отметить, что mysql prefpane и mysql.server script используют имя хоста для pid, поэтому изменение имени хоста может вызвать проблемы с этим.
Пока prefpane устарел, это хороший графический интерфейс для того, чтобы кто-то запускал/останавливал MySQL, даже если функция автозапуска не работает.
Я применил гибридный подход, в котором я адаптировал свою MySQL install script для использования Launchd для автоматического запуска MySQL, но plist на самом деле вызывает mysql.server script. Таким образом, prefpane все еще может использоваться для запуска/остановки MySQL по требованию, и попытка выполнить простой перезапуск MySQL не будет слишком запутанной.
Вот script, который просто позволяет это поведение Launchd в Yosemite с уже установленным MySQL:
https://raw.githubusercontent.com/MacMiniVault/Mac-Scripts/master/mmvMySQL/YosemiteLaunchd.sh
Вот script, который обрабатывает всю автоматическую установку MySQL:
https://raw.githubusercontent.com/MacMiniVault/Mac-Scripts/master/mmvMySQL/mmvmysql.sh
Ответ 9
Иногда вы пропустите предыдущие данные, если попытаетесь установить новую версию. Пожалуйста, используйте в своем терминале следующее: я гарантирую, что mySql начнет работать в кратчайшие сроки.
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start
Помните, что он запросит пароль вашего компьютера, а не пароль mysql.
Ответ 10
У меня возникла аналогичная проблема с MySQL на Mac (Mac Os X Не удалось запустить сервер MySQL. Причина: 255, а также "ОШИБКА! Сервер завершает работу без обновления PID файла" ). После длительного процесса проб и ошибок, наконец, чтобы восстановить права доступа к файлам, Ive просто делает это:
* запустите Disk Utilities.app
* выберите мой диск на левой панели
* нажмите кнопку "Восстановить права на диск"
Это помогло мне.
Надеясь, что это может помочь кому-то другому.
Ответ 11
Попробуйте следующее:
sudo mysqld_safe &
Ответ 12
Путь простейший: скопируйте и вставьте это в терминал (но обязательно прочтите сначала):
bash <(curl -Ls http://git.io/eUx7rg)
Это автоматически установит и настроит все. script предоставляется MacMiniVault и доступен на Github. Дополнительная информация о установке mySQL script на http://www.macminivault.com/mysql-yosemite/.
Ответ 13
вы хотите исправить, он может редактировать файл "/Applications/XAMPP/xamppfiles/xampp" с помощью TextEdit.
Найдите текст "$ XAMPP_ROOT/bin/mysql.server start > /dev/null &"
И добавьте "unset DYLD_LIBRARY_PATH" поверх него. Он должен выглядеть так:
отключить DYLD_LIBRARY_PATH
$ XAMPP_ROOT/bin/mysql.server start > /dev/null &
Надежда может помочь вам
Ответ 14
Ничего из этого не было сделано. Но установка новой версии MySQL сделала трюк.
Ответ 15
2 этапа решили мою проблему:
1) Удалить "/Library/LaunchDaemons/com.mysql.mysql.plist"
2) Перезапустите Yosemite
Ответ 16
Обычно я запускаю сервер mysql, набрав
$ mysql.server start
без sudo. Но по ошибке я набираю sudo перед командой. Теперь я должен удалить файл ошибки, чтобы запустить сервер.
$ sudo rm /usr/local/var/mysql/`hostname`.err
Ответ 17
Мой Mac решил перезапустить себя случайным образом; вызывая целый ряд ошибок. Один из них был mysql, который отказывался запускать правильно. Я прошел много вопросов и ответов, а также других сайтов.
В конечном итоге то, что в конечном итоге разрешило мою проблему, было следующим:
1) Создание файла (/usr/local/mysql/data/.local.pid
2) chmod 777 в этом файле
3) выполнение запуска mysql.server(мой был расположенный в /usr/local/bin/mysql.server)
Ответ 18
То же самое случилось со мной! Поэтому я попытался запустить снова после того, как я прекратил работу с приложением mysql, и это сработало!