Как остановить процесс mysqld?


12

Результат ps -e | grep mysqld

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

работает htopи нажимает на использование памяти ..

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

Это занимает 33% 4 ГБ памяти.

Я просто хочу завершить процесс mysqld .. запуск sudo pkill mysqldзавершает процесс, но снова процесс начинается .. Я хочу полностью завершить его и вернуть память.


1
Нажмите f5 в htop, чтобы увидеть, какой процесс запускается mysqld
Moose

Ответы:


12

В mysqlконфигурации Upstart есть respawnопция:

$ grep respawn /etc/init/mysql.conf
respawn
respawn limit 2 5
        elif echo $statusnow | grep -q 'respawn/' ; then

respawnОпция говорит Upstart , чтобы перезапустить процесс , если он выходит или убит. Ограничение равно 2, поэтому вы можете попробовать убить процессы дважды, что скажет Upstart не запускать их снова или использовать:

sudo service mysql stop

mysql stopостанавливает его, и все же он все еще начинается снова и снова ... Я закомментировал строки респауна в конфигурации, но это не помогло.
Янис Элмерис

1
@Janis если service mysql stopsmysql, а затем он перезапускается, то что-то еще запускает его. Ищите cronjobs или сценарии мониторинга или что-то.
Муру

Благодарность! Я сделал остановку /etc/init.d/mysql stop, но оказалось, что я должен был бежать service mysql stopвместо этого. Я думал, что они одинаковы (один вызывает другой или оба вызывают одну и ту же команду).
Янис Элмерис

13
/etc/init.d/mysql stop
service mysql stop
killall -KILL mysql mysqld_safe mysqld

Когда вы видите следующую информацию, вы успех

mysql: no process found
mysqld_safe: no process found
mysqld: no process found

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

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

mysqld_safe A mysqld process already exists

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



1

Каким-то образом все ответы не могли мне помочь, пока я сначала не перезапустил сервер, а затем не остановил его, поэтому вот шаги:

sudo /etc/init.d/mysql restart

sudo /etc/init.d/mysql stop

Это работало в Ubuntu WSL.


1
дубликат этого ответа askubuntu.com/a/771591/790920
abu_bua

@abu_bua Я попробовал шаги, которые он сделал там, и это все еще не работало для меня, пока я не перезапустил и затем остановился, поэтому у меня есть определенные шаги в том порядке, если у кого-то есть такие же проблемы.
Эдди Экофо

1

Если вы не можете найти mysql внутри /etc/initили /etc/init.d, убедитесь, что id не пришел вместе с другим пакетом. Что касается меня, я узнал, что мой mysqld работает для поддержки nextcloud, я сделал

$> find '/etc' | grep 'mysql'

/etc/systemd/system/multi-user.target.wants/snap.nextcloud.mysql.service
/etc/systemd/system/snap.nextcloud.mysql.service
/etc/apparmor.d/abstractions/mys

0

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

  • Ctrl + C
  • Ctrl + q
  • F10
  • введите "выход" + Enter
  • Esc

0

System Preferences -> MySql -> Stop MySQL Server

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.