Mac OS kurulumunda MySQL'i nasıl durdurursunuz?


187

MySQL'i MacPorts üzerinden kurdum . Sunucuyu durdurmak için gereken komut nedir (MySQL öldüğünde uygulamamın nasıl davrandığını test etmem gerekir)?

Yanıtlar:


377

MySQL'i resmi ikili yükleyiciye, MacPorts'u veya Homebrew'u kullanıp kullanmadığınıza bağlı olarak farklı durumlar vardır :

ev yapımı içki

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

MacPorts

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

Not: Bu yeniden başlatmadan sonra kalıcıdır.

İkili yükleyici

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

Bir ton teşekkürler - Dur ve başlat komutlarım vardı, ama yeniden başlatmayı denemeyi bilmiyordum. Stop komutunu kullandıktan sonra, start MySQL Sistem Tercihleri ​​panelinden başlayarak hiçbir şey yapmaz.
Ross Henderson

4
Benim durumumda biraz farklıydı, çünkü mysql sürüm numarası plist dosyasına eklendi. Şöyle oldu: sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist
d1rk

1
Ve benim için /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist
Dmitry Minkovsky

10
Ve homebrew için:launchctl (un)load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Kostas

2
Eğer varsa Homebrew Hizmetleri yüklü kullanabilirsiniz brew services stop mysqlve brew services start mysql. (Ayrıca restart, ve runsadece geçerli oturum için başlar.)
medmunds

138

MySQL'i yüklemek için homebrew kullananlar için MySQL'i başlatmak, durdurmak veya yeniden başlatmak için aşağıdaki komutları kullanın

Demlemek başlangıç

/usr/local/bin/mysql.server start

Demlemek yeniden başlatma

/usr/local/bin/mysql.server restart

Demleme durağı

/usr/local/bin/mysql.server stop

4
Benim için homebrew tarafından kurulum dizini/usr/local/Cellar/mysql@5.7/5.7.23/bin/
Moobie

68

Her zaman "mysqladmin shutdown" komutunu kullanabilirsiniz


1
Yukarıdaki komutlar benim için işe yaramadı. Bunu yaptı. Kurulumumdaki farkın ne olduğundan emin değilim, ama teşekkürler.
Marco

2
Çalışabilir olsa da, MacPorts kullanıyorsanız ve bunu çalıştırırsanız, launchctl mysql'in durduğunu fark etmez ve başlatmaya çalışırsanız (yük) şikayet eder. Bu nedenle launchctl kullanımı tercih edilir.
lambshaanxy

1
Ayrıca bu, sunucuyu kapatmak için çalışıyor olsa da, yeniden başlatmak istediğinizde geri getirmenize yardımcı olacak hiçbir şey yapmaz.
aroth

3
-P eklemeyi ve istendiğinde mysql kök parolanızı girmeyi unutmayın. MySQL'in MacPorts ile yüklü olduğu kurulumumda mysql yeniden başlatıldı ve eylemimin hedefi olan yapılandırmayı yeniden yükledi.
Jesper Grann Laursen

sudo /opt/local/lib/mysql56/bin/mysqladmin shutdownMySQL'iniz MacPorts
Alain Tiemblo'dan

51

Eğer homebrewkullanıyorsanız

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

kullanılabilir hizmetlerin bir listesi için

brew services list

2
Bu benim için çalıştı, hatta launchctl ile etkileşime girdikten sonra doğrudan olmadı. Teşekkür ederim!
Lyndsy Simon

19

sudo /usr/local/mysql/support-files/mysql.server durağı


2
+1 bu benim için sadece biriydi --- Ben sadece Mysql DMG yükleyici kullandım. Teşekkürler
Dolan Antenucci

15

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

Burada başlat ve yeniden başlat işlevlerini de kullanabilirsiniz. Bunu /Library/LaunchDaemons/org.macports.mysql.plist'in içeriğine bakarak buldum.


1
Bunu nasıl yapmanız gerekiyor .. MacPorts için .. launchctlYöntem işe yaramaz ve aslında PID / DB başlatma sürtünme ve inleme ile sorunlara neden olabilir.
Alex Gray


11

Deneyin

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

Başka deneyin:

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

Ancak, .plist'in yüklü olması durumunda ikinci seçeneğin (OS X 10.6, MySQL 5.1.50) çalıştığını gördüm:

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

PS: Ayrıca doğru başlatmak / durdurmak için MAMP -MySQL ilişkisiz bir yükleme almak için .plist kaldırmanız gerektiğini bulundu . Bunu çalıştırdıktan sonra, MAMP-MySQL iyi başlar:

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


7

Mac osx yosemite 10.10 üzerinde. Bu komut çalıştı:

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

Mysql dosyanızı çalıştırmak için / Library / LaunchDaemons / klasöründe bulabilirsiniz.


2
Benim için işe yarayan tek yol bu. Diğer yöntemler için, mysqldişlem durdurulduktan hemen sonra yeniden başlatılır.
Rockallite

Benim için de işe yarayan tek yol bu. Homebrew'dan MySQL tarafından sağlanan DMG'ye geçtim ve brew versiyonunun hala kaldırmış olmama rağmen hala çalıştığını düşünüyorum.
Sam Critchley

5

kullanın:

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

Muhtemelen sudo kullanmamaktan kurtulabilir . Kullanıcı , örneğin kök (olup, MySQL root) olabilir.


4

Her şey başarısız olursa, acımasız yaklaşımı alabilir ve MySQL'i manuel olarak çalıştıran işlemi öldürebilirsiniz.

Yani,

ps -Af

tüm işlemleri listelemek için " kill <pid>" yapın, burada <pid>MySQL arka plan programının (mysqld) işlem kimliğidir.


evet .. bu senaryo yazmak için en iyi ve evrensel. Veri bozulması olasılığı olduğunu düşünüyor musunuz? ya da başka herhangi bir sorun?
user425720

1
Bunun veri bozulması potansiyeli vardır.
Dan Sandland

Ancak son bir hendek çabası olarak bu yeterli.
Dan Sandland


2

Benim için bir "mysql5" ile çalışıyor

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

2

Benim durumumda, süreci PID kullanarak öldürdüğümde yeniden başlatmaya devam etti. Ayrıca brew stophomebrew kullanmadan kurduğumda komut çalışmadı. Sonra mac sistem tercihlerine gittim ve orada MySQL kurduk. Sadece açın ve MySQL sunucusunu durdurun. Ekran görüntüsünde MySQL'i sistem tercihlerinin altında bulabilirsiniz.resim açıklamasını buraya girin


1

OSX Snow Leopard'da

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

0

Macports üzerinde mysql5 ve mysql55 kurdum. Benim için burada belirtilen dosyalar aşağıdaki yerlerde bulunur:

(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

Yani bu işler için durmak şöyle:

mysql55-sunucu:

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 

Hizmetin hala çalışıp çalışmadığını kontrol edebilirsiniz:

ps ax | grep mysql

Ayrıca benim durumumda günlük dosyalarını burada kontrol edebilirsiniz:

mysql55-sunucu

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

0

MySQL 5 paketini MacPorts ile yüklediyseniz:

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

Veya

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

mysql5-develpaketi yüklediyseniz .


1
Bu, yeniden başlattığınızda başlatılmasını durduracaktır, bu da posterin istediği şey değildir.
Matthew Schinckel

0

mysql> '% dir%' gibi değişken_adı değişkenleri gösterir;

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


0

Tüm bu komut satırını denedikten sonra işe yaramaz.Aşağıdaki şeyleri yapmak zorundayım:

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

Bu şekilde çalışır, mysqld süreci ortadan kalkar. ancak /var/log/system.log dosyasında çok fazla çöp var:

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.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.