Как остановить MySQL

151

Чтобы узнать команду запуска для mysqld (используя mac), я могу сделать:

ps aux|grep mysql

Я получаю следующий вывод, который позволяет мне запускать сервер mysql.

/usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=...

Как мне найти нужную команду для остановки mysql из командной строки?

Показать ещё 2 комментария
Теги:
macos

15 ответов

251
Лучший ответ

Try:

/usr/local/mysql/bin/mysqladmin -u root -p shutdown 

Или:

sudo mysqld stop

Или:

sudo /usr/local/mysql/bin/mysqld stop

Или:

sudo mysql.server stop

Если вы установите Launchctl в OSX, вы можете попробовать:

MacPorts

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

Примечание. Это происходит после перезагрузки.

Homebrew

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

Двоичный установщик

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

Я обнаружил, что в: https://stackoverflow.com/questions/100948/how-do-you-stop-mysql-on-a-mac-os-install

  • 6
    Спасибо, /usr/local/mysql/bin/mysqladmin -u root shutdown
  • 3
    Если это среда разработки и пароль не определен, это будет работать: /usr/local/mysql/bin/mysqladmin -u root shutdown
Показать ещё 17 комментариев
26

Существует альтернативный способ просто убить процесс демона, вызвав

kill -TERM PID

где PID - это значение, хранящееся в файле mysqld.pid, или идентификатор процесса mysqld, который может быть получен путем выдачи команды ps -a | grep mysqld.

  • 1
    это приятно знать, потому что он фактически убивает процесс после того, как он снова и снова появлялся, когда «kill -9 PID» просто не делал этого.
  • 2
    @ lordB8r что б / с это значит? Я пытался убить -9 mysqld (pid), но он сразу после этого перезапускается, это мучает меня.
Показать ещё 5 комментариев
19

Я нашел ответ здесь.

Использование

sudo stop mysql
  • 1
    Это был единственный, кто работал на меня. Приветствия.
  • 0
    Это должен быть принятый ответ!
Показать ещё 3 комментария
13

В Windows вы можете запустить эту команду напрямую, если mysql/bin находится в вашем пути.

mysqladmin -u root -p shutdown
  • 1
    Это работает для меня на OSX
9

для двоичного установщика используйте это:

для остановки:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

чтобы начать:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

для перезапуска:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
  • 0
    Круто, сработало! Благодарю.
6

Я сделал это со следующей командой:

sudo killall mysqld
6

В OSX 10.8 и далее управление для MySQL доступно из системных конфигураций. Откройте "Системные настройки", нажмите "Mysql" (обычно на самом дне) и запустите/остановите службу с этой панели. https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html

Файл plist теперь находится в папке /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

  • 4
    Для протокола, я попробовал все вышеперечисленные методы, и ни один из них не помог остановить дополнительный процесс MySQL. Просмотр системных настроек и поиск MySQL сделали свое дело - спасибо!
  • 0
    Да, это единственный, который работал на меня тоже.
6

Убийство - это, безусловно, неправильный путь! PID останется, Replicationsjobs будут убиты и т.д. И т.д.

Сервер STOP MySQL

/sbin/service mysql stop

START MySQL Server

/sbin/service mysql start

RESTART MySQL Server

/sbin/service mysql restart

Возможно, sudo понадобится, если у вас недостаточно прав.

4

Что работало для меня в CentOS 6.4, в качестве пользователя root был запущен service mysqld stop.

Я нашел свой ответ на nixCraft.

2

Работал для меня на mac

a) Остановить процесс

sudo launchctl list | grep -i mysql

Если результат показывает что-то вроде: "xxx.xxx.mysqlxxx"

sudo launchctl remove xxx.xxx.mysqlxxx

Пример: sudo launchctl remove org.macports.mysql56-server

b) Отключить автозапуск процесса

sudo launchctl unload -wF /Library/LaunchDaemons/xxx.xxx.mysqlxxx.plist

Пример: sudo launchctl unload -wF/Library/LaunchDaemons/org.macports.mysql56-server.plist

  • Наконец перезагрузите свой mac

Примечание. В некоторых случаях, если вы сначала попробовали "a", вам нужно снова перезагрузиться перед попыткой b).

2

Если мой mysql продолжает перезагружать
sudo rm -rf/usr/local/var/mysql/dev.work.err
mysql.server stop
работал на меня.

  • 0
    Остановка mysql.server вызвала эту ошибку: zsh: команда не найдена: mysql.server
1
/etc/init.d/mysql stop<br>
service mysql stop<br>
killall -KILL mysql mysqld_safe mysqld<br>

When you see the following information, you success

mysql: no process found<br>
mysqld_safe: no process found<br>
mysqld: no process found

Я использую это для решения проблемы установки MySQL 5.6 в Ubuntu 15.10, используя эту ссылку.

Во время этой установки я сталкиваюсь с проблемой:

"mysqld_safe A mysqld process already exists"

Просто полностью остановите mysqld, mysqld_safe, mysql решает проблему.

0

Для mysql 5.7, загруженного из двоичного файла на MacOS:

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

Для MAMP

  1. Остановите серверы (но вы можете заметить, что MySQL остается включенным)
  2. Удалите или переименуйте /Applications/MAMP/tmp/mysql/ котором mysql.pid файлы mysql.pid и mysql.sock.lock
  3. Когда вы вернетесь в Mamp, вы увидите, что MySQL отключен. Вы можете снова "Запустить серверы".
0

Чтобы остановить автозапуск mysql при загрузке, следующее работало для меня с mysql 8.0.12 установленным с использованием Homebrew в macOS Mojave 10.14.1:

rm -rf ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Сообщество Overcoder
Наверх
Меню