วิธีหยุด 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ที่พร้อมท์
chb

คำตอบ:


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

หมายเหตุ: นี่เป็นแบบถาวรหลังจากรีบูต

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


9
ขอบคุณ/usr/local/mysql/bin/mysqladmin -u root shutdownทำเคล็ดลับ
David542

5
ถ้ามันเป็นสภาพแวดล้อม dev และรหัสผ่านไม่ถูกกำหนดนี้จะทำงาน:/usr/local/mysql/bin/mysqladmin -u root shutdown
Laurent

2
ตัวเลือกกลางใช้งานได้ แต่เฉพาะเมื่อมีการเพิ่ม "service": service mysqld stop
plaidcorp

11
โอ้พระเจ้าทำไมฉันใช้สิ่งเหล่านี้ทั้งหมดและมันยังคงทำงานอยู่? มันเหมือนไวรัส!
เซน

4
ถ้าฉันใช้ mysql อยู่$ mysqldล่ะ? (แค่อยู่ในเทอร์มินัล) ฉันจะฆ่ามันได้อย่างไร เนื่องจาก CTRL-C ใช้งานไม่ได้ .. ฉันรู้ว่าkillจะฆ่ามัน แต่เพียงแค่สงสัยว่ามีลำดับการหลบหลีกที่ mysqld รับฟัง
Matej

33

มีทางเลือกอื่นเพียงแค่ฆ่ากระบวนการ daemon โดยการโทร

kill -TERM PID

ซึ่งPIDเป็นค่าที่เก็บไว้ในแฟ้มmysqld.pidหรือกระบวนการ id mysqld ps -a | grep mysqldซึ่งสามารถรับได้โดยการออกคำสั่ง


4
นี่เป็นเรื่องดีที่รู้ b / c จริง ๆ แล้วมันฆ่ากระบวนการหลังจากที่มันได้รับการเกิดใหม่เมื่อ "kill -9 PID" ไม่ได้ทำ
lordB8r

2
@ lordB8r มันหมายความว่าอย่างไร b / c? ฉันพยายามฆ่า -9 mysqld (pid) แต่มันรีสตาร์ททันทีหลังจากนั้นมันทำให้ฉันทรมาน
เซน

@Zen Use kill -TERM mysqld(pid)แทนและแผนผังกระบวนการทั้งหมดจะถูกฆ่าไม่อนุญาตให้ทำการ respawn ใหม่
Pirooz

1
ใช่การทำงานมีความปลอดภัยเนื่องจาก RDB รับประกันคุณสมบัติของกรด
Pirooz

2
ฉันลองใช้ kill -term PID แล้วมันก็ฆ่า แต่ถ้าฉันเรียกใช้ ps -a | grep mysqld กระบวนการ mysqld เริ่มต้นอีกครั้งด้วย PID ใหม่
2myCharlie

19

สิ่งนี้ใช้ได้สำหรับการติดตั้ง AWS ubuntu mysql ของฉัน 'kill -TERM pid' ไม่ทำงานสำหรับกรณีของฉัน ขอบคุณ
yoshi

sudo mysql stopสำหรับฉัน (Digital Ocean - ghost-512mb-lon1-01)
Leo

ฉันได้รับข้อผิดพลาดนี้: ข้อผิดพลาด 1045 (28000): การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้ 'root' @ 'localhost' (ใช้รหัสผ่าน: ไม่)
2myCharlie

19

สำหรับ Windows คุณสามารถเรียกใช้คำสั่งนี้โดยตรงหาก mysql / bin อยู่ในเส้นทางของคุณ

mysqladmin -u root -p shutdown


10

สำหรับโปรแกรมติดตั้งไบนารีใช้สิ่งนี้:

หยุด:

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/en/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

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 ของคุณ

หมายเหตุ: ในบางกรณีถ้าคุณพยายาม"ก)"ครั้งแรกที่คุณจะต้องเริ่มต้นใหม่อีกครั้งก่อนที่จะลองข)


6

Kill เป็นวิธีที่ผิดแน่นอน! PID จะยังคงอยู่ Replicationsjobs จะถูกฆ่าตาย ฯลฯ

STOP เซิร์ฟเวอร์ MySQL

/ sbin / หยุดบริการ mysql

เริ่มต้นเซิร์ฟเวอร์ MySQL

/ sbin / บริการเริ่ม mysql

รีสตาร์ทเซิร์ฟเวอร์ MySQL

/ sbin / บริการ mysql รีสตาร์ท

บางทีอาจจำเป็นต้องใช้ sudo ถ้าคุณไม่มีสิทธิ์เพียงพอ


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ในฐานะผู้ใช้รูท

ผมพบว่าคำตอบของฉันใน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

สำหรับ MAMP

  1. หยุดเซิร์ฟเวอร์ (แต่คุณอาจสังเกตเห็นว่า MySQL ยังคงเปิดอยู่)
  2. ลบหรือเปลี่ยนชื่อ/Applications/MAMP/tmp/mysql/ซึ่งเก็บไฟล์mysql.pidและmysql.sock.lock
  3. เมื่อคุณกลับไปที่ Mamp คุณจะเห็นว่า MySQL ปิดแล้ว คุณสามารถ "เริ่มเซิร์ฟเวอร์" อีกครั้ง

สิ่งนี้จะให้ '/ Applications / MAMP / tmp / mysql' สำหรับไฟล์ซ็อกเก็ต UNIX ไม่มีอยู่ 'ในไฟล์ mysql_error_log
Abdullah Tahan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.