Làm thế nào để ngăn chặn mysqld


181

Để tìm ra lệnh start cho mysqld (sử dụng mac) tôi có thể làm:

ps aux|grep mysql

Tôi nhận được đầu ra sau, cho phép tôi khởi động máy chủ mysql.

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

Làm thế nào tôi có thể tìm thấy lệnh cần thiết để ngăn chặn mysql từ dòng lệnh?



Công việc này đối với tôi: askubfox.com/questions/529302/how-to-stop-mysqld- process Có lẽ nó cũng sẽ hiệu quả với bạn. []
lam3

1
Câu hỏi là dành cho máy Mac.
Snowcrash

Nếu bạn được kết nối qua mysqlmáy khách, bạn chỉ cần SHUTDOWNtại dấu nhắc .
chb

Câu trả lời:


309

Thử:

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

Hoặc là:

sudo mysqld stop

Hoặc là:

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

Hoặc là:

sudo mysql.server stop

Nếu bạn cài đặt Launchctl trong OSX, bạn có thể thử:

MacPorts

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

Lưu ý: điều này là liên tục sau khi khởi động lại.

Homebrew

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

Trình cài đặt nhị phân

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

Tôi thấy rằng trong: https://stackoverflow.com/a/102094/58768


9
Cảm ơn, /usr/local/mysql/bin/mysqladmin -u root shutdownđã lừa
David542

5
Nếu đó là một môi trường dev và không có mật khẩu được xác định, điều này sẽ làm việc:/usr/local/mysql/bin/mysqladmin -u root shutdown
laurent

2
tùy chọn ở giữa đã hoạt động, nhưng chỉ với việc thêm "dịch vụ": dịch vụ dừng mysqld
plaidcorp

11
Ôi chúa ơi, tại sao tôi sử dụng tất cả những thứ trên và nó vẫn chạy? Nó giống như một con virus!
Zen

4
Điều gì xảy ra nếu tôi đang chạy mysql $ mysqld? (chỉ trong thiết bị đầu cuối). Làm thế nào tôi sẽ giết nó sau đó? Bởi vì CTRL-C không hoạt động .. Tôi biết killsẽ giết nó, nhưng chỉ tự hỏi liệu có một chuỗi thoát mà mysqld nghe không.
Matej

33

Có một cách khác là chỉ giết quá trình daemon bằng cách gọi

kill -TERM PID

trong đó PIDgiá trị được lưu trữ trong tệp mysqld.pidhoặc id quá trình mysqld có thể nhận được bằng cách ban hành lệnh ps -a | grep mysqld.


4
Đây là một điều tốt đẹp để biết rằng nó thực sự giết chết quá trình sau khi nó tiếp tục được xử lý khi "kill -9 PID" không làm điều đó.
lordB8r

2
@ lordB8r b / c nghĩa là gì? Tôi đã thử kill -9 mysqld (pid) nhưng nó khởi động lại ngay sau đó, điều này đang hành hạ tôi.
Zen

@Zen Sử dụng kill -TERM mysqld(pid)thay thế và toàn bộ cây quy trình sẽ bị giết, không cho phép nó được hồi sinh.
Pirooz

1
Có, hoạt động này an toàn vì RDB đảm bảo các thuộc tính ACID.
Pirooz

2
Tôi đã thử PID -term và nó đã giết nó nhưng nếu tôi chạy ps -a | grep mysqld, quá trình mysqld được bắt đầu lại với một bộ vi xử lý mới.
2myCharlie

19

Tôi tìm thấy câu trả lời ở đây.

Sử dụng

sudo stop mysql

Điều này làm việc cho cài đặt mysS AWS ub Ubuntu của tôi. 'Kill -TERM pid' không hoạt động đối với trường hợp của tôi. Cảm ơn.
yoshi

sudo mysql stopđối với tôi (Digital Ocean - ghost-512mb-lon1-01).
Leo

Tôi đã gặp lỗi này: ERROR 1045 (28000): Truy cập bị từ chối cho người dùng 'root' @ 'localhost' (sử dụng mật khẩu: NO)
2myCharlie

19

Đối với Windows, bạn có thể chạy lệnh này trực tiếp nếu mysql / bin nằm trong đường dẫn của bạn.

mysqladmin -u root -p shutdown


10

đối với trình cài đặt nhị phân, hãy sử dụng:

dừng lại:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

để bắt đầu:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

khởi động lại:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

10

Trên OSX 10.8 trở đi, điều khiển cho MySQL có sẵn từ System Configs. Mở Tùy chọn hệ thống, nhấp vào Mysql (thường ở dưới cùng) và bắt đầu / dừng dịch vụ từ khung đó. https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html

Tệp plist hiện nằm dưới /L Library / LaDDaemons / com.oracle.oss.mysql.mysqld.plist


4
Để ghi lại, tôi đã thử tất cả các phương pháp trên và không có phương pháp nào trong số chúng hoạt động để ngăn chặn quá trình MySQL thêm. Đi qua Tùy chọn hệ thống và tìm kiếm MySQL đã thực hiện thủ thuật - cảm ơn bạn!
andycrone

Cảm ơn, điều này đã làm việc. Đây cũng là nơi bạn tìm thấy nút gỡ cài đặt.
smcg

Điều này hiệu quả với hầu hết: gist.github.com/vitorbritto/0555879fe4414d18569d nhưng để an toàn, hãy thử Bước 7 trước Bước 6
ppostma1

9

Làm việc cho tôi trên mac

a) Dừng quá trình

sudo launchctl list | grep -i mysql

Nếu kết quả hiển thị bất cứ điều gì như: "xxx.xxx.mysqlxxx"

sudo launchctl remove xxx.xxx.mysqlxxx

Thí dụ: sudo launchctl remove org.macports.mysql56-server

b) Vô hiệu hóa để tự khởi động quá trình

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

Thí dụ: sudo launchctl unload -wF /Library/LaunchDaemons/org.macports.mysql56-server.plist

  • Cuối cùng khởi động lại máy Mac của bạn

Lưu ý: Trong một số trường hợp nếu bạn đã thử "a)" trước tiên, bạn cần khởi động lại trước khi thử b) .


6

Giết chắc chắn là sai cách! Các PID sẽ ở lại, các bản sao sẽ bị giết, v.v.

DỪNG Máy chủ MySQL

/ sbin / dịch vụ mysql dừng

BẮT ĐẦU Máy chủ MySQL

/ sbin / dịch vụ mysql bắt đầu

Máy chủ MySQL RESTART

/ sbin / dịch vụ khởi động lại mysql

Có lẽ sudo sẽ cần thiết nếu bạn không có đủ quyền


5

Hãy thử giết mysqld bốn lần liên tiếp. Đó là điều duy nhất làm việc cho tôi ...

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

Chỉ cần tiếp tục giết nó nhiều lần cho đến khi bạn thấy "mysqld: không tìm thấy quá trình".


Cảm ơn đã làm việc cho trường hợp của tôi
Joyce obi

4

Điều làm việc cho tôi trên CentOS 6.4 là chạy service mysqld stopvới tư cách người dùng root.

Tôi tìm thấy câu trả lời của tôi trên 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

Tôi sử dụng điều này để giải quyết vấn đề cài đặt MySQL 5.6 trong Ubuntu 15.10 bằng liên kết này .

Trong quá trình cài đặt này, tôi gặp phải vấn đề:

"mysqld_safe A mysqld process already exists"

Chỉ cần dừng hoàn toàn mysqld, mysqld_safe, mysql giải quyết vấn đề.


2

Nếu mysql của tôi tiếp tục khởi động lại
sudo rm -rf /usr/local/var/mysql/dev.work.err
mysql.server stop
làm việc cho tôi.


mysql.server dừng nhắc lỗi này: zsh: không tìm thấy lệnh: mysql.server
2myCharlie

1

Để dừng tự động khởi động mysql khi khởi động, phần sau đây đã hoạt động với tôi với mysql 8.0.12được cài đặt bằng Homebrew trong macOS Mojave 10.14.1:

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

1

Để dừng phiên bản máy chủ MariaDB và MySQL:

sudo mysqladmin shutdown

Để bắt đầu phiên bản máy chủ MariaDB và MySQL:

mysqld &

Để thay đổi quyền sở hữu dữ liệu cho phiên bản máy chủ MariaDB và MySQL:

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

0

Đối với mysql 5.7 được tải xuống từ tệp nhị phân vào 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

Đối với MAMP

  1. Dừng máy chủ (nhưng bạn có thể nhận thấy MySQL vẫn bật)
  2. Xóa hoặc đổi tên /Applications/MAMP/tmp/mysql/chứa mysql.pidmysql.sock.locktập tin
  3. Khi bạn quay trở lại Mamp, bạn sẽ thấy MySQL hiện đã tắt. Bạn có thể "Bắt đầu máy chủ" một lần nữa.

điều này sẽ cung cấp '/ Ứng dụng / MAMP / tmp / mysql' cho tệp ổ cắm UNIX không tồn tại 'trong tệp mysql_error_log
Abdullah Tahan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.