จะหยุดกระบวนการ mysqld ได้อย่างไร


12

ผลลัพธ์ของ ps -e | grep mysqld

ป้อนคำอธิบายรูปภาพที่นี่

วิ่งhtopและคลิกที่การใช้หน่วยความจำ ..

ป้อนคำอธิบายรูปภาพที่นี่

มันใช้หน่วยความจำ 33% ของ 4GB

ฉันแค่อยากจะจบกระบวนการ mysqld .. การรันsudo pkill mysqldจบกระบวนการ แต่อีกครั้งกระบวนการก็เริ่มขึ้น .. ฉันต้องการจบมันอย่างสมบูรณ์และได้หน่วยความจำกลับมา


1
กด f5 ใน htop เพื่อดูว่ากระบวนการเริ่มต้นอย่างไร mysqld
Moose

คำตอบ:


12

การmysqlตั้งค่าคอนฟิกพุ่งพรวดมีrespawnตัวเลือก:

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

respawnตัวเลือกบอกพุ่งพรวดเพื่อเริ่มต้นกระบวนการถ้ามันออกหรือถูกฆ่าตาย ขีด จำกัด คือ 2 ดังนั้นคุณสามารถลองฆ่ากระบวนการสองครั้งซึ่งจะบอกให้พุ่งพรวดอย่าเริ่มต้นใหม่อีกครั้งหรือใช้:

sudo service mysql stop

mysql stopหยุดมัน แต่ก็ยังเริ่มอีกครั้งและอีกครั้ง ... ฉันใส่ความคิดเห็นแถวที่เกิดใหม่ในการกำหนดค่า แต่นั่นไม่ได้ช่วย
Jānis Elmeris

1
@ Janis ถ้าservice mysql stopsmysql แล้วรีสตาร์ทจากนั้นก็มีบางอย่างเริ่มต้นขึ้น มองหา cronjobs หรือสคริปต์การตรวจสอบหรือบางสิ่งบางอย่าง
muru

ขอบคุณ! ฉันหยุดโดย/etc/init.d/mysql stopแต่มันกลับกลายเป็นว่าฉันต้องทำงานservice mysql stopแทน ฉันคิดว่าพวกเขาเหมือนกัน (คนหนึ่งโทรหาอีกฝ่ายหรือทั้งคู่เรียกคำสั่งเดียวกัน)
Jānis Elmeris

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 ฉันลองทำตามขั้นตอนที่เขาใส่ไว้และมันก็ยังไม่ได้ผลสำหรับฉันจนกว่าฉันจะรีสตาร์ทแล้วลูบนั่นคือสาเหตุที่ฉันมีขั้นตอนเฉพาะตามลำดับถ้าใครมีปัญหาเดียวกัน
Eddy Ekofo

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
  • พิมพ์ "exit" + Enter
  • Esc

0

System Preferences -> MySql -> Stop MySQL Server

นี่เป็นสิ่งเดียวที่ทำงานได้สำหรับฉันการหยุด / ฆ่าจากบรรทัดคำสั่งจะให้รีสตาร์ทเสมอ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.