Як зупинити mysqld


181

Щоб дізнатися команду запуску для mysqld (за допомогою mac), я можу:

ps aux|grep mysql

Я отримую наступний вихід, який дозволяє мені запустити сервер mysql.

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

Як я можу знайти необхідну команду, щоб зупинити mysql з командного рядка?


1
Ви перевірили stackoverflow.com/questions/100948 / ...
dhable

Ця робота для мене: askubuntu.com/questions/529302/how-to-stop-mysqld-process Можливо, вона теж підійде для вас, брате. [] 's
lam3

1
Питання було для Mac.
Snowcrash

Якщо ви підключились через mysqlклієнта, ви можете просто ввести SHUTDOWNпідказку .
чб

Відповіді:


309

Спробуйте:

/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

Примітка. Це зберігається після перезавантаження.

Домашнє пиво

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/a/102094/58768


9
Спасибі, /usr/local/mysql/bin/mysqladmin -u root shutdownзробив трюк.
David542

5
Якщо це середовище розробників і не визначений пароль, це спрацює:/usr/local/mysql/bin/mysqladmin -u root shutdown
laurent

2
середній варіант спрацював, але лише з додаванням "служби": сервіс mysqld stop
plaidcorp

11
О боже мій, чому я використовую все це вище, і це все ще працює? Це як вірус!
Дзен

4
Що робити, якщо я запускаю mysql як $ mysqld? (просто в терміналі). Як би я вбив його тоді? Тому що CTRL-C не працює .. Я знаю, що killце вб'є, але просто цікаво, чи є послідовність втечі, яку слухає mysqld.
Матей

33

Існує альтернативний спосіб просто вбити демоновий процес, зателефонувавши

kill -TERM PID

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


4
це приємно знати, що він фактично вбиває процес після того, як він продовжував відновлюватися, коли "убий -9 PID" просто не зробив цього.
lordB8r

2
@ lordB8r, що це означає b / c? Я спробував убити -9 mysqld (pid), але він перезапустився відразу після цього, це мене мучить.
Дзен

@ Zen Використовуйте kill -TERM mysqld(pid)натомість, і все дерево процесу буде вбито, не дозволяючи його відновлювати.
Pirooz

1
Так, робота безпечна, оскільки RDB гарантують властивості кислотних кислот.
Pirooz

2
Я спробував ввести -term PID, і він його вбив, але якщо я запускаю ps -a | grep mysqld, процес mysqld запускається знову з новим PID.
2myCharlie

19

Тут я знайшов відповідь.

Використовуйте

sudo stop mysql

Це працювало для моєї установки AWS ubuntu mysql. Під 'kill -TERM' не працював для моєї справи. Дякую.
йоші

sudo mysql stopдля мене (Digital Ocean - ghost-512mb-lon1-01).
Лев

Я отримав цю помилку за це: ПОМИЛКА 1045 (28000): Доступ заборонено користувачеві 'root' @ 'localhost' (з використанням пароля: НІ)
2myCharlie



10

для інсталятора Binary використовуйте це:

зупинитися:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

починати:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

перезапустити:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

10

На OSX 10.8 і пізніше керування для MySQL доступне в System Configs. Відкрийте Налаштування системи, натисніть на Mysql (як правило, в самому низу) і запустіть / зупиніть службу з цієї області. https://dev.mysql.com/doc/refman/5.6/uk/osx-installation-launchd.html

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


4
Для запису я спробував усі перераховані вище методи, і жоден з них не працював, щоб зупинити зайвий MySQL процес. Провівши Системні налаштування та пошуки MySQL зробив свою справу - дякую!
andycrone

Дякую, це спрацювало. Тут ви також знайдете кнопку для видалення.
smcg

Це працювало для більшості: gist.github.com/vitorbritto/0555879fe4414d18569d, але щоб бути безпечним, спробуйте крок 7 перед кроком 6
ppostma1

9

Працював для мене на mac

а) Зупиніть процес

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

  • Нарешті перезавантажте комп'ютер

Примітка. У деяких випадках, якщо ви спробували спочатку "а)" , вам потрібно перезавантажити ще раз, перш ніж спробувати b) .


6

Вбивство - це точно неправильний шлях! PID залишиться, реплікації роботи будуть вбиті і т.д. і т.д.

ЗАСТАНОВИТИ MySQL Server

/ sbin / сервіс mysql stop

ЗАПУСК MySQL Server

/ sbin / запуск служби mysql

RESTART MySQL Server

/ sbin / service mysql restart

Можливо, судо знадобиться, якщо у вас недостатньо прав


5

Спробуйте вбити mysqld чотири рази поспіль. Це єдине, що працювало на мене ...

root@ubuntu:/etc/init# killall -KILL mysqld 
root@ubuntu:/etc/init# killall -KILL mysqld 
root@ubuntu:/etc/init# killall -KILL mysqld 
root@ubuntu:/etc/init# killall -KILL mysqld 
mysqld: no process found

Просто продовжуйте вбивати його знову і знову, поки ви не побачите "mysqld: жодного процесу не знайдено".


Дякую, працював у моєму випадку
Джойсі обі

4

Те, що працювало для мене на CentOS 6.4, працювало service mysqld stopяк користувач root.

Я знайшов свою відповідь на nixCraft .


2
/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 вирішує проблему.


2

Якщо мій mysql продовжує перезапуск,
sudo rm -rf /usr/local/var/mysql/dev.work.err
mysql.server stop
працював на мене.


mysql.server зупинка запропонувала цю помилку: zsh: команда не знайдена: mysql.server
2myCharlie

1

Щоб зупинити автоматичний запуск mysql під час завантаження, для мене працювало наступне з програмою mysql, 8.0.12встановленою за допомогою Homebrew у macOS Mojave 10.14.1:

rm -rf ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

1

Щоб зупинити екземпляр сервера MariaDB та MySQL:

sudo mysqladmin shutdown

Щоб запустити екземпляр сервера MariaDB та MySQL:

mysqld &

Щоб змінити право власності на дані для екземпляра сервера MariaDB та MySQL:

sudo chown -R 755 /usr/local/mariadb/data

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

-1

Для МАМП

  1. Зупиніть роботу серверів (але ви можете помітити, що MySQL залишається увімкненим)
  2. Видаліть або перейменуйте /Applications/MAMP/tmp/mysql/вміст файлів mysql.pidта mysql.sock.lockфайлів
  3. Повернувшись до Mamp, ви побачите, що MySQL зараз вимкнено. Ви можете "Запустити сервери" знову.

це дасть "/ Applications / MAMP / tmp / mysql" для файлу сокетів UNIX не існує "у файлі mysql_error_log
Abdullah
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.