#macos #terminal #homebrew #mysql
#macos #терминал #доморощенный #mysql
Вопрос:
Я только что установил mysql в терминал через homebrew.
Теперь, когда я пытаюсь подключиться к mysql, происходит сбой, но после запуска mysqld
он работает..
Итак, что мне нужно сделать сейчас, это запустить mysqld при загрузке моего Mac.
Я искал в Google mysqld autoload at startup
и т.д., Но не смог найти правильный ответ.
Надеюсь, кто-нибудь сможет указать мне правильное направление.. Спасибо!
Ответ №1:
brew info mysql
дает вам инструкции по загрузке MySQL при запуске, но вот все, что вам нужно сделать:
mkdir -p ~/Library/LaunchAgents
cp `brew --prefix mysql`/*mysql*.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/*mysql*.plist
Комментарии:
1. Я считаю, что это верно только в том случае, если вы установили mysql через brew, но это здорово, если у вас есть!
2. В моей последней установке файл plist называется: homebrew.mxcl.mysql.plist
3. И если у вас установлен Mariadb, имя файла: homebrew.mxcl.maraidb.plist
4. Хотя этот ответ исторически точен, более свежая
brew services start
команда является современным решением, с которым проще работать, чем с тайным launchctl5. Должно ли это включаться
/Library/LaunchAgents
или/Library/LaunchDaemons
? Я думаю, что позже.
Ответ №2:
В настоящее время brew info mysql
выдает следующее утверждение:
Чтобы запустить launchd, запустите mysql сейчас и перезапустите при входе в систему: службы brew запускают mysql
Или, если вы не хотите / нуждаетесь в фоновой службе, вы можете просто запустить: mysql.server start
Таким образом, запуск brew services start mysql
гарантирует, что он будет запускаться как служба и перезапускаться при каждом входе в систему.
Если вы запустите эту команду с sudo
:
sudo brew services start mysql
заставит службу запускаться при загрузке, а не после входа в систему, что более полезно для серверов.
Комментарии:
1. Это ЕДИНСТВЕННЫЙ ответ, который фактически отвечает на вопрос и запускает сервер при ЗАГРУЗКЕ, а не при входе в систему. Это создает правильный .plist в нужном месте. Это действительно должно быть отмечено как правильный ответ… хотя на самом деле у меня это не работает. Но я думаю, что это отдельные проблемы.
2. Не позволяет выполнять sudo, потому что «Запуск Homebrew от имени root чрезвычайно опасен и больше не поддерживается». Как мне теперь это сделать при загрузке?
3. Похоже, что нет никакого способа, если
root
не владеетbrew
исполняемым файлом. Вероятно, вам нужно будет пройтиLaunchDaemons
путь из других ответов. ИМХО, это худшее решение, которое приняли люди из Homebrew. Мы знаем, что делаем, должен быть хотя бы переключатель, отключающий это глупое принудительное исполнение.
Ответ №3:
Ответ Mipadi не удался для меня с MySQL 5.6.13, установленным с помощью Homebrew на дату публикации этого сообщения. Но я проверил brew info mysql
, как он предложил, и это дало мне рабочее решение:
> ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Ответ №4:
mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Ответ №5:
Вам больше не нужно настраивать plist. Последняя версия brew (1.3.4) по состоянию на октябрь 2017 года, вы можете запускать только:
brew services start <service_name>
и он будет автоматически запускаться при каждой перезагрузке компьютера. Команда brew info
дает вам это
Чтобы запустить launchd mysql сейчас и перезапустить при входе в систему: службы brew запускают mysql Или, если вы не хотите / нуждаетесь в фоновой службе, вы можете просто запустить: mysql.server start
Ответ №6:
Продолжение Алехандро, которое не смогло уместиться в комментарии.
Проверьте, какие службы являются пользовательскими (login) и root (boot) с помощью этого:
$ brew services list
Name Status User Plist
chronograf started jacob /Users/jacob/Library/LaunchAgents/homebrew.mxcl.chronograf.plist
grafana started jacob /Users/jacob/Library/LaunchAgents/homebrew.mxcl.grafana.plist
influxdb started root /Library/LaunchDaemons/homebrew.mxcl.influxdb.plist
kapacitor stopped
mariadb started jacob /Users/jacob/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
memcached started jacob /Users/jacob/Library/LaunchAgents/homebrew.mxcl.memcached.plist
telegraf started jacob /Users/jacob/Library/LaunchAgents/homebrew.mxcl.telegraf.plist
Ответ №7:
У меня есть предварительная установка MYSQL.
Тип
brew info mysql
и следуйте приведенным инструкциям:
Чтобы launchd запускал mysql при входе в систему:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents