Как загружать MySQL при запуске на OS X Yosemite/El Capitan
После обновления ОС X моя установка MySQL прекратила загрузку при запуске.
Этот прохождение по MySQL говорит:
"Установка Startup Item добавляет переменную MYSQLCOM = -YES- к файл конфигурации системы /etc/hostconfig. Если вы хотите отключить автоматический запуск MySQL, измените эту переменную на MYSQLCOM = -NO -."
Итак, я открыл этот файл, и он говорит:
# This file is going away
AFPSERVER=-NO-
AUTHSERVER=-NO-
TIMESYNC=-NO-
QTSSERVER=-NO-
MYSQLCOM=-YES-
Я предполагаю, что OSX dev добавил # This file is going away
, но я не уверен.
Если это так, то каков правильный способ запуска MySQL при запуске на OSX Yosemite?
Ответы
Ответ 1
Это то, что исправлено:
Сначала создайте новый файл:/Library/LaunchDaemons/com.mysql.mysql.plist
<?xml version="1.0" encoding="UTF-8"?>
<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>
Затем обновите разрешения и добавьте их в launchctl
:
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
Ответ 2
Если вы установили mysql через homebrew, вы можете launchd
запустить mysql при входе по адресу:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Ответ 3
Принятый ответ не работал для автоматического запуска моего сервера MySQL (и на самом деле моя панель настроек разбивала системные настройки каждый раз, когда я пытался открыть его, пока он был активным). Я выполнил инструкции справочник MySQL 5.6, и он, наконец, автоматически запускается! Создайте файл /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
со следующим содержимым:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key> <string>com.oracle.oss.mysql.mysqld</string>
<key>ProcessType</key> <string>Interactive</string>
<key>Disabled</key> <false/>
<key>RunAtLoad</key> <true/>
<key>KeepAlive</key> <true/>
<key>SessionCreate</key> <true/>
<key>LaunchOnlyOnce</key> <false/>
<key>UserName</key> <string>_mysql</string>
<key>GroupName</key> <string>_mysql</string>
<key>ExitTimeOut</key> <integer>600</integer>
<key>Program</key> <string>/usr/local/mysql/bin/mysqld</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/mysql/bin/mysqld</string>
<string>--user=_mysql</string>
<string>--basedir=/usr/local/mysql</string>
<string>--datadir=/usr/local/mysql/data</string>
<string>--plugin-dir=/usr/local/mysql/lib/plugin</string>
<string>--log-error=/usr/local/mysql/data/mysqld.local.err</string>
<string>--pid-file=/usr/local/mysql/data/mysqld.local.pid</string>
<string>--port=3306</string>
</array>
<key>WorkingDirectory</key> <string>/usr/local/mysql</string>
</dict>
</plist>
И запустите следующие команды после создания файла:
cd /Library/LaunchDaemons
sudo chown root:wheel com.oracle.oss.mysql.mysqld.plist
sudo chmod o-w com.oracle.oss.mysql.mysqld.plist
sudo launchctl load -F com.oracle.oss.mysql.mysqld.plist
Ответ 4
Мой Mac работает на El Capitan.
MySQL установлен через brew.
mysql.server status
сказал мне, что у меня возникли проблемы:
ERROR! MySQL is not running, but PID file exists
Найден homebrew.mxcl.mysql.plist
файл в каталоге /usr/local/Cellar/mysql/x.x.x/
и скопировал его в /Library/LaunchDaemons/
sudo cp homebrew.mxcl.mysql.plist /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
Задайте все необходимые разрешения:
sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
sudo chmod 644 /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
Используемая часть советов, описанная Justin
Ответ 5
Существует bash script MacMiniVault, который сделает это за вас - и установите также MySQL. Существует также статья, в которой описывается процесс.
В статье предлагается подключить script прямо к терминалу и запустить его, но поскольку это имеет некоторые серьезные последствия для безопасности, лучше всего загрузить и осмотреть script, прежде чем запускать его локально.
Примечание. Этот ответ был переработан в ответ на комментарии о последствиях безопасности в соответствии с инструкциями в вышеупомянутой статье.
Как правило, плохая идея подключить оболочку script к источнику неизвестно напрямую к bash. Кроме того, если вы не понимаете script или доверяете автору, не используйте его.