Làm thế nào để bạn dừng MySQL trên cài đặt Mac OS?


187

Tôi đã cài đặt MySQL thông qua MacPorts . Lệnh tôi cần để dừng máy chủ là gì (tôi cần kiểm tra xem ứng dụng của tôi hoạt động như thế nào khi MySQL chết)?

Câu trả lời:


376

Có nhiều trường hợp khác nhau tùy thuộc vào việc bạn đã cài đặt MySQL với trình cài đặt nhị phân chính thức, sử dụng MacPorts hay sử dụng Homebrew :

Homebrew

brew services start mysql
brew services stop mysql
brew services restart mysql

MacPorts

sudo port load mysql57-server
sudo port unload mysql57-server

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

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

Cảm ơn rất nhiều - Tôi đã có lệnh dừng và bắt đầu, nhưng không biết về / nghĩ về việc thử khởi động lại. Sau khi sử dụng lệnh dừng, bắt đầu sẽ không làm gì cả, cũng như bắt đầu từ bảng Tùy chọn hệ thống MySQL.
Ross Henderson

4
Trong trường hợp của tôi, nó hơi khác một chút, vì số phiên bản mysql đã được thêm vào trong tệp plist. Đó là như thế: sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
d1rk


10
Và cho homebrew:launchctl (un)load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Kostas

2
Nếu bạn đã cài đặt Dịch vụ Homebrew , bạn có thể sử dụng brew services stop mysqlbrew services start mysql. (Ngoài ra restart, và runchỉ bắt đầu cho phiên hiện tại.)
medmunds

138

Đối với những người đã sử dụng homebrew để cài đặt MySQL, hãy sử dụng các lệnh sau đây để bắt đầu, dừng hoặc khởi động lại MySQL

Bắt đầu bia

/usr/local/bin/mysql.server start

Khởi động lại bia

/usr/local/bin/mysql.server restart

Dừng bia

/usr/local/bin/mysql.server stop

4
Đối với tôi, thư mục cài đặt của homebrew là/usr/local/Cellar/mysql@5.7/5.7.23/bin/
Moobie

68

Bạn luôn có thể sử dụng lệnh "mysqladmin shutdown"


1
Các lệnh trên không làm việc cho tôi. Cái này đã làm. Không chắc chắn sự khác biệt trong thiết lập của tôi, nhưng cảm ơn.
Marco

2
Mặc dù nó có thể hoạt động, nhưng nếu bạn đang sử dụng MacPorts và chạy nó, launchctl sẽ không nhận ra mysql đã dừng và sẽ phàn nàn nếu bạn cố gắng khởi động nó (tải). Do đó, sử dụng launchctl là tốt hơn.
lambshaanxy

1
Ngoài ra, mặc dù điều này hoạt động để tắt máy chủ, nhưng nó sẽ không làm gì để giúp bạn mang nó trở lại khi bạn muốn khởi động lại nó.
aroth

3
Hãy nhớ thêm -p và nhập mật khẩu gốc mysql của bạn khi được nhắc. Trong thiết lập của tôi, nơi mysql được cài đặt với MacPorts, mysql đã khởi động lại và tải lại cấu hình, đó là mục tiêu cho hành động của tôi.
Jesper Grann Laursen

sudo /opt/local/lib/mysql56/bin/mysqladmin shutdownnếu mysql của bạn đến từ MacPorts
Alain Tiemblo

51

Nếu bạn đang sử dụng, homebrewbạn có thể sử dụng

brew services restart mysql
brew services start mysql
brew services stop mysql

cho một danh sách các dịch vụ có sẵn

brew services list

2
Điều này làm việc cho tôi, ngay cả sau khi tương tác với launchctl trực tiếp không. Cảm ơn bạn!
Lyndsy Simon

18

sudo /usr/local/mysql/support-files/mysql.server dừng


2
+1 đây chỉ là một công việc phù hợp với tôi --- Tôi mới sử dụng trình cài đặt DMG từ Mysql. Cảm ơn
Dolan Antenucci

15

sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop

Bạn cũng có thể sử dụng bắt đầu và khởi động lại ở đây. Tôi đã tìm thấy điều này bằng cách xem nội dung của / L Library / LaunchDaemons / org.macports.mysql.plist.


1
Đây là cách bạn phải làm điều đó .. Đối với MacPorts .. launchctlPhương pháp này KHÔNG hoạt động, và trên thực tế có thể gây ra vấn đề với việc khởi động và rên rỉ khởi động PID / DB.
Alex Gray


10

Thử

sudo <path to mysql>/support-files/mysql.server start
sudo <path to mysql>/support-files/mysql.server stop

Khác thử:

sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop<br>
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart

Tuy nhiên, tôi thấy rằng tùy chọn thứ hai chỉ hoạt động (OS X 10.6, MySQL 5.1.50) nếu .plist đã được tải với:

sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysqld.plist

PS: Tôi cũng thấy rằng tôi cần dỡ bỏ .plist để có được bản cài đặt MAMP không liên quan -MySQL để bắt đầu / dừng chính xác. Sau khi chạy này, MAMP-MySQL khởi động tốt:

sudo launchctl unload -w /L Library / LaunchDaemons / com.mysql.mysqld.plist


7

Trên mac osx yosemite của tôi 10.10. Lệnh này đã làm việc:

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

Bạn có thể tìm thấy tệp mysql của mình trong thư mục / Thư viện / LaunchDaemons / để chạy


2
Đây là cách duy nhất làm việc cho tôi. Đối với bất kỳ phương pháp nào khác, mysqldquá trình khởi động lại ngay sau khi dừng lại.
Rockallite

Đây là cách duy nhất làm việc cho tôi quá. Tôi đã chuyển từ homebrew sang DMG do MySQL cung cấp và tôi nghĩ có thể phiên bản brew vẫn đang chạy mặc dù tôi đã gỡ cài đặt nó.
Sam Critchley

5

Sử dụng:

sudo mysqladmin shutdown --user=*user* --password=*password*

Một người có lẽ có thể thoát khỏi việc không sử dụng sudo . Người dùng có thể là root chẳng hạn (nghĩa là người dùng root MySQL).


4

Chà, nếu thất bại, bạn chỉ có thể thực hiện cách tiếp cận tàn nhẫn và giết quá trình chạy MySQL thủ công.

Đó là,

ps -Af

để liệt kê tất cả các quy trình, sau đó thực hiện " kill <pid>" <pid>id quá trình của trình nền MySQL (mysqld) ở đâu.


yeah .. cái này là tốt nhất và phổ quát cho kịch bản. Bạn có nghĩ rằng có khả năng tham nhũng dữ liệu? hoặc bất kỳ vấn đề nào khác?
user425720

1
Điều này có khả năng tham nhũng dữ liệu.
Dan Sandland

Nhưng như một nỗ lực cuối cùng, điều này là đủ.
Dan Sandland


2

Đối với tôi, nó hoạt động với "mysql5"

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

2

Trong trường hợp của tôi, nó tiếp tục khởi động lại ngay khi tôi giết tiến trình bằng cách sử dụng PID. Ngoài ra brew stoplệnh không làm việc như tôi cài đặt mà không sử dụng homebrew. Sau đó, tôi đã đi đến các tùy chọn hệ thống mac và chúng tôi đã cài đặt MySQL ở đó. Chỉ cần mở nó và dừng máy chủ MySQL và bạn đã hoàn thành. Ở đây trong ảnh chụp màn hình, bạn có thể tìm thấy MySQL ở dưới cùng của tùy chọn hệ thống.nhập mô tả hình ảnh ở đây


1

Trên báo tuyết OSX

launchctl unload /System/Library/LaunchDaemons/org.mysql.mysqld.plist

0

Tôi đã cài đặt mysql5 và mysql55 trên macports. Đối với tôi các tập tin được đề cập ở đây được đặt tại các địa điểm sau:

(mysql55-server) /opt/local/etc/LaunchDaemons/org.macports.mysql55-server/org.macports.mysql55-server.plist

(mysql5) /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist

Vì vậy, dừng lại cho các công trình như thế này:

máy chủ mysql55:

sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.mysql55-server/org.macports.mysql55-server.plist

mys5

sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist 

Bạn có thể kiểm tra xem dịch vụ có còn chạy không:

ps ax | grep mysql

Hơn nữa bạn có thể kiểm tra các tệp nhật ký trong trường hợp của tôi ở đây:

máy chủ mysql55

sudo tail -n 100 /opt/local/var/db/mysql55/<MyName>-MacBook-Pro.local.err
...
130213 08:56:41 mysqld_safe mysqld from pid file /opt/local/var/db/mysql55/<MyName>-MacBook-Pro.local.pid ended

mys5

sudo tail -n 100 /opt/local/var/db/mysql5/<MyName>-MacBook-Pro.local.err
...
130213 09:23:57  mysqld ended

0

Nếu bạn đã cài đặt gói MySQL 5 với MacPorts:

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

Hoặc là

sudo launchctl  unload -w /Library/LaunchDaemons/org.macports.mysql5-devel.plist 

nếu bạn đã cài đặt mysql5-develgói.


1
Điều này sẽ ngăn nó bắt đầu khi bạn khởi động lại, đó không phải là những gì người đăng yêu cầu.
Matthew Schinckel

0

mysql hiển thị các biến trong đó biến_name như '% dir%';

| datadir | / opt / local / var / db / mysql5 / |


0

Sau khi thử tất cả các dòng lệnh đó và nó không hoạt động. Tôi phải làm những việc sau:

mv /usr/local/Cellar/mysql/5.7.16/bin/mysqld /usr/local/Cellar/mysql/5.7.16/bin/mysqld.bak
mysql.server stop

Cách này hoạt động, quá trình mysqld đã biến mất. nhưng /var/log/system.log có rất nhiều rác:

Jul  9 14:10:54 xxx com.apple.xpc.launchd[1] (homebrew.mxcl.mysql[78049]): Service exited with abnormal code: 1
Jul  9 14:10:54 xxx com.apple.xpc.launchd[1] (homebrew.mxcl.mysql): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
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.