मैक ओएस इंस्टॉल पर आप MySQL को कैसे रोक सकते हैं?


187

मैंने MacPorts के माध्यम से MySQL स्थापित किया । सर्वर को रोकने के लिए मुझे कौन सी कमांड की आवश्यकता है (मुझे यह परीक्षण करने की आवश्यकता है कि MySQL मृत होने पर मेरा आवेदन कैसे व्यवहार करता है)?

जवाबों:


377

इस आधार पर अलग-अलग मामले हैं कि आपने आधिकारिक बाइनरी इंस्टॉलर के साथ MySQL स्थापित किया है, MacPorts का उपयोग कर रहा है , या Homebrew का उपयोग कर रहा है :

होमब्रू

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

MacPorts

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

नोट: यह रिबूट के बाद लगातार है।

बाइनरी इंस्टॉलर

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

एक टन धन्यवाद - मेरे पास स्टॉप और स्टार्ट कमांड्स थे, लेकिन पुनः आरंभ करने की कोशिश के बारे में नहीं जानते / सोचते थे। स्टॉप कमांड का उपयोग करने के बाद, स्टार्ट कुछ नहीं करेगा, जैसा कि MySQL सिस्टम प्राथमिकता पैनल से शुरू होगा।
रॉस हेंडरसन

4
मेरे मामले में यह थोड़ा अलग था, क्योंकि plist फाइल में mysql वर्जन नंबर जोड़ा गया था। Sudo launchctl अनलोड डब्ल्यू /Library/LaunchDaemons/org.macports.mysql5.plist sudo launchctl लोड डब्ल्यू /Library/LaunchDaemons/org.macports.mysql5.plist: यह है कि तरह था
d1rk

1
और मेरे लिए, /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist
दिमित्री

10
और होमब्रे के लिए:launchctl (un)load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
कोस्तस

2
यदि आपके पास Homebrew सेवाएँ स्थापित हैं, तो आप उपयोग कर सकते हैं brew services stop mysqlऔर brew services start mysql। (इसके अलावा restart, और runवर्तमान सत्र के लिए ही शुरू होता है जो।)
medmunds

138

उन लोगों के लिए जिन्होंने MySQL को स्थापित करने के लिए Homebrew का उपयोग किया था, MySQL को शुरू करने, बंद करने या फिर से शुरू करने के लिए नीचे दिए गए आदेशों का उपयोग करते हैं

शुरुआत की

/usr/local/bin/mysql.server start

फिर से शुरू किया

/usr/local/bin/mysql.server restart

का स्टॉप बन गया

/usr/local/bin/mysql.server stop

4
मेरे लिए, homebrew द्वारा इंस्टॉल डायरेक्टरी है/usr/local/Cellar/mysql@5.7/5.7.23/bin/
Moobie

68

आप हमेशा "mysqladmin शटडाउन" कमांड का उपयोग कर सकते हैं


1
ऊपर दिए गए आदेशों ने मेरे लिए काम नहीं किया। यह एक किया। निश्चित नहीं है कि मेरे सेटअप में क्या अंतर है, लेकिन धन्यवाद।
मार्को

2
भले ही यह काम कर सकता है, अगर आप MacPorts का उपयोग कर रहे हैं और इसे चला रहे हैं, तो लॉन्चक्टल को एहसास नहीं होगा कि mysql बंद हो गया है और यदि आप इसे शुरू करने की कोशिश करते हैं तो यह शिकायत करेगा (लोड)। लॉन्चर का उपयोग करना इस प्रकार बेहतर है।
लैम्ब्शैनी

1
हालाँकि यह सर्वर को बंद करने के लिए काम करता है, फिर भी इसे पुनः आरंभ करने के लिए इसे वापस लाने में आपकी मदद करने के लिए यह कुछ भी नहीं करेगा।
अरथ

3
जब जोड़ने के लिए -p जोड़ने और अपने mysql रूट पासवर्ड दर्ज करने के लिए याद रखें। मेरे सेटअप पर जहाँ MacPorts mysql के साथ mysql को फिर से शुरू किया गया है, और फिर से लोड किया गया है, जो कि मेरी कार्रवाई का लक्ष्य था।
जेसपर ग्रेन लॉरेंस 20

sudo /opt/local/lib/mysql56/bin/mysqladmin shutdownअगर आपका mysql MacPorts
Alain Tiemblo

51

यदि आप उपयोग कर रहे हैं तो आप उपयोग homebrewकर सकते हैं

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

उपलब्ध सेवाओं की सूची के लिए

brew services list

2
इसने मेरे लिए काम किया, यहां तक ​​कि लॉन्चर के साथ बातचीत करने के बाद भी सीधे नहीं किया। धन्यवाद!
Lyndsy साइमन

19

sudo /usr/local/mysql/support-files/mysql.server रोकें


2
+1 यह केवल एक था जो मेरे लिए काम करता था --- मैंने बस मैसकल से डीएमजी इंस्टॉलर का उपयोग किया। धन्यवाद
डोलन Antenucci

15

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

आप यहां स्टार्ट और रिस्टार्ट का भी उपयोग कर सकते हैं। मैंने /Library/LaunchDaemons/org.macports.mysql.plist की सामग्री को देखकर यह पाया।


1
यह है कि आप इसे कैसे करना चाहिए .. MacPorts के लिए .. launchctlविधि काम नहीं करती है, और वास्तव में PID / DB स्टार्टअप कुतिया और विलाप के साथ समस्याएं पैदा कर सकता है।
एलेक्स ग्रे


11

प्रयत्न

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

अन्य प्रयास:

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

हालाँकि, मैंने पाया कि दूसरा विकल्प केवल काम करता है (OS X 10.6, MySQL 5.1.50) यदि .plist को लोड किया गया हो:

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

पुनश्च: मैंने यह भी पाया कि MAMP की एक असंबंधित स्थापना प्राप्त करने के लिए मुझे .plist को अनलोड करने की आवश्यकता थी सही ढंग से शुरू / बंद -MySQL .plist को है। इसे चलाने के बाद, MAMP-MySQL ठीक शुरू होता है:

sudo लॉन्चरल अनलोड -w /Library/LaunchDaemons/com.mysql.mysqr.pist


7

मेरे मैक ओएक्सएक्स योसेमाइट पर 10.10। इस कमांड ने काम किया:

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

आप अपने mysql फ़ाइल को चलाने के लिए फ़ोल्डर / लाइब्रेरी / LaunchDaemons / में पा सकते हैं


2
यह एकमात्र तरीका है जो मेरे लिए काम करता है। किसी भी अन्य तरीकों के लिए, mysqldप्रक्रिया बंद होने के तुरंत बाद पुनरारंभ होती है।
रॉकलाईट

यही एकमात्र तरीका है जिसने मेरे लिए भी काम किया। मैंने होमब्रेव से MySQL द्वारा आपूर्ति की गई DMG पर स्विच किया और मुझे लगता है कि संभवतः इसका काढ़ा संस्करण अभी भी चल रहा था जबकि मैंने इसे अनइंस्टॉल कर दिया था।
सैम क्रिचली

5

उपयोग:

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

एक शायद sudo का उपयोग नहीं करने के साथ दूर हो सकता है । उपयोगकर्ता उदाहरण के लिए रूट (है कि, MySQL जड़ उपयोगकर्ता) हो सकता है।


4

ठीक है, अगर बाकी सब विफल हो जाता है, तो आप बस निर्दयी दृष्टिकोण ले सकते हैं और मैन्युअल रूप से MySQL चलाने की प्रक्रिया को मार सकते हैं।

अर्थात्,

ps -Af

सभी प्रक्रियाओं को सूचीबद्ध करने के लिए, फिर " kill <pid>" जहां <pid>MySQL डेमन (mysqld) की प्रक्रिया आईडी है।


हाँ .. यह एक स्क्रिप्टिंग के लिए सबसे अच्छा और सार्वभौमिक है। क्या आपको लगता है कि डेटा भ्रष्टाचार की संभावना है? या कोई अन्य समस्या?
user425720

1
इससे डेटा भ्रष्टाचार की संभावना है।
दान सैंडलैंड

लेकिन अंतिम प्रयास के रूप में, यह पर्याप्त है।
दान सैंडलैंड

4

नवीनतम OSX (10.8) और mysql 5.6, फ़ाइल लॉन्च डेमन्स के तहत है और com.oracle.oss.mysql.mysqld.plist है। यह सिस्टम विकल्प के तहत एक विकल्प प्रस्तुत करता है, आमतौर पर सूची के नीचे। इसलिए सिस्टम सेटिंग्स पर जाएं, मैसकल पर क्लिक करें, और इसे विकल्प बॉक्स से बंद कर दें। https://dev.mysql.com/doc/refman/5.6/en/osx-installation-launchd.html


2

मेरे लिए यह "mysql5" के साथ काम कर रहा है

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

2

मेरे मामले में, जैसे ही मैंने पीआईडी ​​का उपयोग करके इस प्रक्रिया को मार दिया, यह फिर से शुरू हो गया। brew stopहोमब्रेव का उपयोग किए बिना मैंने जो काम किया, उसके अलावा कमांड भी काम नहीं करता था। तब मैं मैक सिस्टम वरीयताओं के लिए गया था और हम MySQL वहाँ स्थापित किया है। बस इसे खोलें और MySQL सर्वर को बंद करें और आपका काम हो गया। यहां स्क्रीनशॉट में, आप सिस्टम वरीयताओं के नीचे MySQL पा सकते हैं।यहां छवि विवरण दर्ज करें


1

OSX स्नो लेपर्ड पर

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

0

मैंने macs पर mysql5 और mysql55 स्थापित किया। मेरे लिए यहाँ उल्लेखित फाइलें निम्नलिखित स्थानों पर स्थित हैं:

(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

तो इन कामों के लिए इस तरह रुकना:

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 

आप देख सकते हैं कि क्या सेवा अभी भी चल रही है:

ps ax | grep mysql

इसके अलावा आप यहाँ मेरे मामले में लॉग फ़ाइलों की जाँच कर सकते हैं:

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

0

यदि आपने MacPorts के साथ MySQL 5 पैकेज स्थापित किया है:

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

या

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

यदि आपने mysql5-develपैकेज स्थापित किया है।


1
जब आप रिबूट करेंगे, तो यह शुरू होने से रोक देगा, जो कि पोस्टर के लिए नहीं पूछ रहा था।
मैथ्यू Schinckel

0

mysql> वैरिएबल दिखाएं जहां '% dir%' जैसे variable_name;

| दातादिर | / ऑप्ट / स्थानीय / var / db / mysql5 / |


0

उन सभी कमांड लाइन को आज़माने के बाद, और यह काम नहीं कर रहा है। मुझे निम्नलिखित सामान करना है:

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

इस तरह से काम करता है, mysqld प्रक्रिया चली गई है। लेकिन /var/log/system.log में बहुत अधिक बकवास है:

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.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.