Autostart MySQL Server в Mac OS X Yosemite / El Capitan

Я бы хотел запустить сервер MySQL при запуске. Это было возможно в Маверикс, но, похоже, он не работал над Йосемити.

edit : похоже, это работает и с El Capitan

введите описание изображения здесь

@dcc был очень близок. Это то, как MySQL снова запускается в Yosemite:

com.mysql.mysql.plist в /Library/LaunchDaemons :

     KeepAlive  Label com.mysql.mysqld ProgramArguments  /usr/local/mysql/bin/mysqld_safe --user=mysql    

Кроме того, я изменил разрешения на основе этого ответа

 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 

Если у вас есть какие-либо дополнения, пожалуйста, поделитесь ими!

Я следил за указаниями @revaxarts и при попытке выполнить команду

 sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist 

была дана ошибка:

/Library/LaunchDaemons/com.mysql.mysql.plist: неверный список свойств

Немного почесывая голову, я обнаружил, что удаление объявления DOCTYPE DTD вверху заставило ошибку уйти, и после перезагрузки mySQL-сервер действительно работает.

Итак, мой XML выглядит так:

    KeepAlive  Label com.mysql.mysqld ProgramArguments  /usr/local/mysql/bin/mysqld_safe --user=mysql    

Если вы установили mysql с homebrew , вы можете получить инструкции о том, как его автозапуск, набрав brew info mysql .

Например, вывод на моем компьютере:

 To have launchd start mysql at login: ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents Then to load mysql now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 

Создайте /Library/LaunchDaemons/com.mysql.mysql.plist и сохраните его со следующим plist:

    KeepAlive  Label com.mysql.mysqld ProgramArguments  /usr/local/mysql/bin/mysqld_safe --user=mysql     

Затем загрузите вновь созданный файл plist

 sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist 

Эта статья поможет мне решить проблему с недопустимой ошибкой. Исправленный слой, который я использовал ниже.

Как узнать, какая строка файла plist неверна

     KeepAlive  Label com.mysql.mysqld ProgramArguments  /usr/local/mysql/bin/mysqld_safe --user=mysql    

Ни один из других ответов не работал для автоматического запуска моего сервера MySQL. Я выполнил инструкции из справочника MySQL 5.6, и он, наконец, автоматически запускается! Создайте файл /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist со следующим содержимым:

     Label com.oracle.oss.mysql.mysqld ProcessType Interactive Disabled  RunAtLoad  KeepAlive  SessionCreate  LaunchOnlyOnce  UserName _mysql GroupName _mysql ExitTimeOut 600 Program /usr/local/mysql/bin/mysqld ProgramArguments  /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --port=3306  WorkingDirectory /usr/local/mysql   

И запустите следующие команды после создания файла:

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

Когда я использовал plist, предложенный в более ранних ответах, я изменил пользователя на _mysql для моей системы, но кнопка «Stop MySQL Server» в панели предпочтений MySQL больше не работала. Клавиша KeepAlive заставит процесс запуска снова сразу после нажатия кнопки Stop. Я использовал ключ RunAtLoad чтобы запустить его при перезагрузке, но позвольте кнопке в панели продолжить работу.

     RunAtLoad  Label com.mysql.mysqld ProgramArguments  /usr/local/mysql/bin/mysqld_safe --user=_mysql    

Затем, как и в других ответах, побежал:

 sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist 

Теперь MySQL запускается при перезагрузке, но панель MySQL в System Preferences все еще работает. Я управляю El Capitan, 10.11.2

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