Saya menginstal MySQL melalui MacPorts . Apa perintah yang saya perlukan untuk menghentikan server (saya perlu menguji bagaimana aplikasi saya berperilaku ketika MySQL mati)?
Saya menginstal MySQL melalui MacPorts . Apa perintah yang saya perlukan untuk menghentikan server (saya perlu menguji bagaimana aplikasi saya berperilaku ketika MySQL mati)?
Jawaban:
Ada beberapa kasus tergantung pada apakah Anda menginstal MySQL dengan penginstal biner resmi, menggunakan MacPorts , atau menggunakan Homebrew :
brew services start mysql
brew services stop mysql
brew services restart mysql
sudo port load mysql57-server
sudo port unload mysql57-server
Catatan: ini persisten setelah reboot.
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
launchctl (un)load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
brew services stop mysql
dan brew services start mysql
. (Juga restart
, dan run
yang dimulai hanya untuk sesi saat ini.)
Bagi mereka yang menggunakan homebrew untuk menginstal MySQL gunakan perintah berikut di bawah ini untuk memulai, menghentikan, atau me-restart MySQL
Awal pembuatan bir
/usr/local/bin/mysql.server start
Brew restart
/usr/local/bin/mysql.server restart
Berhenti bir
/usr/local/bin/mysql.server stop
/usr/local/Cellar/mysql@5.7/5.7.23/bin/
Anda selalu dapat menggunakan perintah "mysqladmin shutdown"
sudo /opt/local/lib/mysql56/bin/mysqladmin shutdown
jika mysql Anda berasal dari MacPorts
Jika Anda menggunakan, homebrew
Anda dapat menggunakan
brew services restart mysql
brew services start mysql
brew services stop mysql
untuk daftar layanan yang tersedia
brew services list
sudo /usr/local/mysql/support-files/mysql.server berhenti
sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop
Anda juga dapat menggunakan mulai dan mulai ulang di sini. Saya menemukan ini dengan melihat isi /Library/LaunchDaemons/org.macports.mysql.plist.
launchctl
Metode ini TIDAK berfungsi, dan pada kenyataannya dapat menyebabkan masalah dengan PID / DB startup bitching dan moaning.
Rupanya Anda ingin:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
Bacalah lebih lanjut dalam Jeez People, Stop Fretting Over Instalasi RMagic .
Mencoba
sudo <path to mysql>/support-files/mysql.server start
sudo <path to mysql>/support-files/mysql.server stop
Coba lagi:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop<br>
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
Namun, saya menemukan bahwa opsi kedua hanya berfungsi (OS X 10.6, MySQL 5.1.50) jika .plist telah dimuat dengan:
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysqld.plist
PS: Saya juga menemukan bahwa saya perlu membongkar .plist untuk mendapatkan instalasi MAMP -MySQL yang tidak terkait untuk memulai / berhenti dengan benar. Setelah menjalankan menjalankan ini, MAMP-MySQL dimulai dengan baik:
sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysqld.plist
Di mac osx yosemite 10.10 saya. Perintah ini berhasil:
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysql.plist
Anda dapat menemukan file mysql Anda di folder / Library / LaunchDaemons / untuk dijalankan
mysqld
proses restart segera setelah berhenti.
Nah, jika semuanya gagal, Anda bisa saja mengambil pendekatan yang kejam dan mematikan proses menjalankan MySQL secara manual.
Itu adalah,
ps -Af
untuk mendaftar semua proses, kemudian lakukan " kill <pid>
" di mana <pid>
id proses dari daemon MySQL (mysqld).
OSX terbaru (10.8) dan mysql 5.6, file tersebut berada di bawah Launch Daemons dan com.oracle.oss.mysql.mysqld.plist. Ini menyajikan opsi di bawah Opsi Sistem, biasanya bagian bawah daftar. Jadi pergi ke pengaturan sistem, klik pada Mysql, dan matikan dari kotak opsi. https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html
Dalam kasus saya, itu terus restart segera setelah saya membunuh proses menggunakan PID. Juga brew stop
perintah tidak berfungsi karena saya menginstal tanpa menggunakan homebrew. Kemudian saya pergi ke preferensi sistem mac dan kami telah menginstal MySQL di sana. Buka saja dan hentikan server MySQL dan Anda selesai. Di sini, di tangkapan layar, Anda dapat menemukan MySQL di bagian bawah preferensi sistem.
Saya menginstal mysql5 dan mysql55 di atas macports. Bagi saya file yang disebutkan di sini terletak di tempat-tempat berikut:
(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
Jadi berhentilah untuk karya-karya ini seperti ini:
server mysql55:
sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.mysql55-server/org.macports.mysql55-server.plist
mysql5:
sudo launchctl unload -w /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist
Anda dapat memeriksa apakah layanan masih berjalan dengan:
ps ax | grep mysql
Selanjutnya Anda dapat memeriksa file log dalam kasus saya di sini:
server 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
mysql5:
sudo tail -n 100 /opt/local/var/db/mysql5/<MyName>-MacBook-Pro.local.err
...
130213 09:23:57 mysqld ended
Jika Anda menginstal paket MySQL 5 dengan MacPorts:
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql.plist
Atau
sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5-devel.plist
jika Anda menginstal mysql5-devel
paket.
Setelah mencoba semua baris perintah itu, dan itu tidak berfungsi. Saya harus melakukan hal-hal berikut:
mv /usr/local/Cellar/mysql/5.7.16/bin/mysqld /usr/local/Cellar/mysql/5.7.16/bin/mysqld.bak
mysql.server stop
Dengan cara ini, proses mysqld hilang. tetapi /var/log/system.log memiliki banyak sampah:
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.