Как остановить MySQL при установке Mac OS?

Я установил MySQL через MacPorts. Какая команда мне нужна, чтобы остановить сервер (мне нужно проверить, как мое приложение ведет себя, когда MySQL мертв)?

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
205
0
225 278
21
Перейти к ответу Данный вопрос помечен как решенный

Ответы 21

Видимо вы хотите:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

Читайте дальше в Черт возьми, перестаньте беспокоиться по поводу установки RMagic.

Если вы установили пакет MySQL 5 с MacPorts:

sudo launchctl  unload -w /Library/LaunchDaemons/org.macports.mysql.plist 

Или же

sudo launchctl  unload -w /Library/LaunchDaemons/org.macports.mysql5-devel.plist 

если вы установили пакет mysql5-devel.

Это остановит его запуск при перезагрузке, чего не просил плакат.

Matthew Schinckel 19.09.2008 14:27

Вы всегда можете использовать команду "mysqladmin shutdown"

Приведенные выше команды у меня не работали. Этот сделал. Не уверен, в чем разница в моей настройке, но спасибо.

Marco 06.09.2009 05:10

Несмотря на то, что это может работать, если вы используете MacPorts и запускаете это, launchctl не поймет, что mysql остановился, и будет жаловаться, если вы попытаетесь запустить его (загрузить). Таким образом, использование launchctl предпочтительнее.

lambshaanxy 06.07.2011 06:22

Кроме того, хотя это работает для выключения сервера, это не поможет вам восстановить его, когда вы захотите его перезапустить.

aroth 09.08.2011 05:59

Не забудьте добавить -p и при появлении запроса ввести пароль root mysql. В моей настройке, где mysql установлен с MacPorts, mysql перезапущен и перезагружен конфиг, который был целью моего действия.

Jesper Grann Laursen 27.11.2013 00:58

sudo /opt/local/lib/mysql56/bin/mysqladmin shutdown, если ваш mysql исходит от MacPorts

Alain Tiemblo 28.11.2014 23:12

Прекрасно работает для доморощенного установленного mysql. Мне пришлось выполнить команду как sudo (т.е. sudo mysqladmin shutdown)

Staccato 14.09.2015 09:15

Это единственное, что у меня сработало. Мне просто нужно было добавить sudo в начало.

Nick Manning 07.03.2016 01:02

Я получил эту ошибку для указанной выше команды: mysqladmin: ошибка подключения к серверу на «localhost»: «Доступ запрещен для пользователя« lorcz »@« localhost »(с использованием пароля: NO)»

2myCharlie 01.08.2018 23:15

Что ж, если все остальное не поможет, вы можете просто воспользоваться безжалостным подходом и вручную убить процесс, запускающий MySQL.

То есть,

ps -Af

чтобы перечислить все процессы, затем выполните «kill <pid>», где <pid> - это идентификатор процесса демона MySQL (mysqld).

ага .. это лучший и универсальный для скриптинга. Как вы думаете, есть ли возможность повреждения данных? или какие-то другие проблемы?

user425720 11.11.2010 22:01

Это может привести к повреждению данных.

Dan Sandland 11.12.2015 00:46

Но как последнее усилие этого достаточно.

Dan Sandland 11.12.2015 00:57
Ответ принят как подходящий

Существуют разные случаи в зависимости от того, установили ли вы MySQL с помощью официального двоичного установщика, с помощью MacPorts или с помощью Домашнее пиво:

Домашнее пиво

brew services start mysql
brew services stop mysql
brew services restart mysql

MacPorts

sudo port load mysql57-server
sudo port unload mysql57-server

Примечание: это сохраняется после перезагрузки.

Бинарный установщик

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

Большое спасибо - у меня были команды остановки и запуска, но я не знал / не думал о попытке перезапуска. После использования команды остановки start ничего не сделает, как и при запуске из панели системных настроек MySQL.

Ross Henderson 16.04.2011 05:00

В моем случае это было немного иначе, потому что номер версии mysql был добавлен в файл plist. Это было так: sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

d1rk 26.10.2011 14:23

А для меня /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macport‌ s.mysql5.plist

Dmitry Minkovsky 01.07.2012 01:00

А для домашнего пивоварения: launchctl (un)load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

Kostas 12.06.2013 16:48

@vrinek Спасибо - Это помогло мне - Кроме файла ~/Library/LaunchAgents/com.mysql.mysqld.plist

troelskn 01.08.2013 14:02

Почему не просто sudo mysql.server stop и т. д.? Любая правильная установка, независимо от метода, должна включать это в ваш PATH. Я установил через Homebrew и упомянул, что короткая форма работает нормально.

Markus Amalthea Magnuson 03.06.2014 17:18

Если у вас установлен Услуги домашнего пивоварения, вы можете использовать brew services stop mysql и brew services start mysql. (Также restart и run, который запускается только для текущего сеанса.)

medmunds 27.05.2017 21:14

@MarkusAmaltheaMagnuson Я получаю .. ERROR! The server quit without updating PID file (/usr/local/var/mysql/TRSS-MacBook-Pro.local.pid)., но не с подходом launchctl или brew services.

trss 26.07.2017 16:30

У меня не получилось. Продолжал получать эту ошибку: /Users/charlie/Library/LaunchAgents/homebrew.mxcl.mysql.plis‌ t: нет такого файла или каталога

2myCharlie 01.08.2018 23:14

Это сработало для меня sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

Winnipass 27.08.2019 04:38

sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop

Вы также можете использовать запуск и перезапуск здесь. Я нашел это, просмотрев содержимое /Library/LaunchDaemons/org.macports.mysql.plist.

Вот как вы должны это делать .. Для MacPorts .. Метод launchctl НЕ работает, и фактически может вызвать проблемы при запуске PID / DB и ворчание.

Alex Gray 13.03.2012 08:01

Пытаться

sudo <path to mysql>/support-files/mysql.server start
sudo <path to mysql>/support-files/mysql.server stop

Еще попробуйте:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop<br>
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

Однако я обнаружил, что второй вариант работает только (OS X 10.6, MySQL 5.1.50), если .plist был загружен с:

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

PS: Я также обнаружил, что мне нужно выгрузить .plist, чтобы получить несвязанную установку МАМП-MySQL для правильного запуска / остановки. После запуска MAMP-MySQL запускается нормально:

sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysqld.plist

Для меня это работает с "mysql5"

sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist
sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

Для тех, кто использовал homebrew для установки MySQL, используйте следующие команды ниже, чтобы запустить, остановить или перезапустить MySQL.

Заваривать начало

/usr/local/bin/mysql.server start

Заваривать перезапуск

/usr/local/bin/mysql.server restart

Остановка заваривания

/usr/local/bin/mysql.server stop

Для меня каталог установки homebrew - /usr/local/Cellar/[email protected]/5.7.23/bin/

Moobie 29.01.2019 11:45

sudo /usr/local/mysql/support-files/mysql.server stop

+1 это был только один, который сработал для меня --- я просто использовал установщик DMG от Mysql. Спасибо

Dolan Antenucci 09.02.2013 19:20

для меня это дает эту ошибку. $ sudo /usr/local/mysql/support-files/mysql.server stop ERROR! MySQL server PID file could not be found!

codeaprendiz 07.01.2021 15:45

Я установил mysql5 и mysql55 поверх macports. Для меня упомянутые файлы находятся в следующих местах:

(mysql55-сервер) /opt/local/etc/LaunchDaemons/org.macports.mysql55-server/org.macports.mysql55-server.plist

(mysql5) /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist

Итак, остановка для этих работ выглядит так:

mysql55-сервер:

sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.mysql55-server/org.macports.mysql55-server.plist

mysql5:

sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist 

Вы можете проверить, работает ли сервис по-прежнему с помощью:

ps ax | grep mysql

Далее вы можете проверить файлы журнала в моем случае здесь:

mysql55-сервер

sudo tail -n 100 /opt/local/var/db/mysql55/<MyName>-MacBook-Pro.local.err
...
130213 08:56:41 mysqld_safe mysqld from pid file /opt/local/var/db/mysql55/<MyName>-MacBook-Pro.local.pid ended

mysql5:

sudo tail -n 100 /opt/local/var/db/mysql5/<MyName>-MacBook-Pro.local.err
...
130213 09:23:57  mysqld ended

Использовать:

sudo mysqladmin shutdown --user=*user* --password=*password*

Вероятно, можно было бы обойтись без использования судо. Пользователь может быть, например, пользователем root (то есть пользователем root в MySQL).

mysql> показать переменные, где имя_переменной, например "% dir%";

| datadir | / opt / local / var / db / mysql5 / |

На OSX Snow Leopard

launchctl unload /System/Library/LaunchDaemons/org.mysql.mysqld.plist

На моем Mac OSX Yosemite 10.10. Эта команда работала:

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

Вы можете найти свой файл mysql в папке / Library / LaunchDaemons / для запуска

Это единственный способ, который сработал для меня. Для любых других методов процесс mysqld перезапускается сразу после остановки.

Rockallite 07.06.2016 04:01

Это единственный способ, который сработал и для меня. Я переключился с homebrew на DMG, поставляемый MySQL, и я думаю, что, возможно, версия brew все еще работала, хотя я ее удалил.

Sam Critchley 18.01.2017 12:43

Если вы используете homebrew, вы можете использовать

brew services restart mysql
brew services start mysql
brew services stop mysql

для списка доступных услуг

brew services list

Это сработало для меня, даже после прямого взаимодействия с launchctl. Спасибо!

Lyndsy Simon 15.12.2016 02:41

Последняя версия OSX (10.8) и mysql 5.6, файл находится в разделе Launch Daemons и называется com.oracle.oss.mysql.mysqld.plist. Он представляет собой параметр в разделе «Параметры системы», обычно внизу списка. Итак, перейдите в настройки системы, нажмите Mysql и выключите его в поле выбора. https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html

После того, как я попробую всю эту командную строку, это не сработает. Мне нужно сделать следующее:

mv /usr/local/Cellar/mysql/5.7.16/bin/mysqld /usr/local/Cellar/mysql/5.7.16/bin/mysqld.bak
mysql.server stop

Так работает, процесс mysqld пропал. но в /var/log/system.log много мусора:

Jul  9 14:10:54 xxx com.apple.xpc.launchd[1] (homebrew.mxcl.mysql[78049]): Service exited with abnormal code: 1
Jul  9 14:10:54 xxx com.apple.xpc.launchd[1] (homebrew.mxcl.mysql): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.

В моем случае он продолжал перезапускаться, как только я убивал процесс с помощью PID. Также команда brew stop не работала, поскольку я установил без использования homebrew. Затем я перешел к системным настройкам Mac, и у нас там установлен MySQL. Просто откройте его и остановите сервер MySQL, и все готово. Здесь, на скриншоте, вы можете найти MySQL в нижней части системных настроек.

Это сработало для меня на macOS 10.13.6 с MySQL 8.0.12

/usr/local/mysql/support-files/mysql.server start

/usr/local/mysql/support-files/mysql.server restart

/usr/local/mysql/support-files/mysql.server stop

Для меня сработало следующее решение Невозможно остановить MySQL в OS X 10.10

Для остановки автозапуска я использовал:

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

И чтобы убить службу, которую я использовал:

sudo pkill mysqld

Другие вопросы по теме