मैंने MacPorts के माध्यम से MySQL स्थापित किया । सर्वर को रोकने के लिए मुझे कौन सी कमांड की आवश्यकता है (मुझे यह परीक्षण करने की आवश्यकता है कि MySQL मृत होने पर मेरा आवेदन कैसे व्यवहार करता है)?
मैंने MacPorts के माध्यम से MySQL स्थापित किया । सर्वर को रोकने के लिए मुझे कौन सी कमांड की आवश्यकता है (मुझे यह परीक्षण करने की आवश्यकता है कि MySQL मृत होने पर मेरा आवेदन कैसे व्यवहार करता है)?
जवाबों:
इस आधार पर अलग-अलग मामले हैं कि आपने आधिकारिक बाइनरी इंस्टॉलर के साथ MySQL स्थापित किया है, MacPorts का उपयोग कर रहा है , या Homebrew का उपयोग कर रहा है :
brew services start mysql
brew services stop mysql
brew services restart mysql
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
launchctl (un)load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
brew services stop mysql
और brew services start mysql
। (इसके अलावा restart
, और run
वर्तमान सत्र के लिए ही शुरू होता है जो।)
उन लोगों के लिए जिन्होंने MySQL को स्थापित करने के लिए Homebrew का उपयोग किया था, MySQL को शुरू करने, बंद करने या फिर से शुरू करने के लिए नीचे दिए गए आदेशों का उपयोग करते हैं
शुरुआत की
/usr/local/bin/mysql.server start
फिर से शुरू किया
/usr/local/bin/mysql.server restart
का स्टॉप बन गया
/usr/local/bin/mysql.server stop
/usr/local/Cellar/mysql@5.7/5.7.23/bin/
आप हमेशा "mysqladmin शटडाउन" कमांड का उपयोग कर सकते हैं
sudo /opt/local/lib/mysql56/bin/mysqladmin shutdown
अगर आपका mysql MacPorts
यदि आप उपयोग कर रहे हैं तो आप उपयोग homebrew
कर सकते हैं
brew services restart mysql
brew services start mysql
brew services stop mysql
उपलब्ध सेवाओं की सूची के लिए
brew services list
sudo /usr/local/mysql/support-files/mysql.server रोकें
sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop
आप यहां स्टार्ट और रिस्टार्ट का भी उपयोग कर सकते हैं। मैंने /Library/LaunchDaemons/org.macports.mysql.plist की सामग्री को देखकर यह पाया।
launchctl
विधि काम नहीं करती है, और वास्तव में PID / DB स्टार्टअप कुतिया और विलाप के साथ समस्याएं पैदा कर सकता है।
जाहिर है आप चाहते हैं:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
जीज़ पीपल में आगे पढ़ा है , आरएमजिक को स्थापित करने पर रोकना बंद करें ।
प्रयत्न
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
मेरे मैक ओएक्सएक्स योसेमाइट पर 10.10। इस कमांड ने काम किया:
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysql.plist
आप अपने mysql फ़ाइल को चलाने के लिए फ़ोल्डर / लाइब्रेरी / LaunchDaemons / में पा सकते हैं
mysqld
प्रक्रिया बंद होने के तुरंत बाद पुनरारंभ होती है।
ठीक है, अगर बाकी सब विफल हो जाता है, तो आप बस निर्दयी दृष्टिकोण ले सकते हैं और मैन्युअल रूप से MySQL चलाने की प्रक्रिया को मार सकते हैं।
अर्थात्,
ps -Af
सभी प्रक्रियाओं को सूचीबद्ध करने के लिए, फिर " kill <pid>
" जहां <pid>
MySQL डेमन (mysqld) की प्रक्रिया आईडी है।
नवीनतम 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
मेरे मामले में, जैसे ही मैंने पीआईडी का उपयोग करके इस प्रक्रिया को मार दिया, यह फिर से शुरू हो गया। brew stop
होमब्रेव का उपयोग किए बिना मैंने जो काम किया, उसके अलावा कमांड भी काम नहीं करता था। तब मैं मैक सिस्टम वरीयताओं के लिए गया था और हम MySQL वहाँ स्थापित किया है। बस इसे खोलें और MySQL सर्वर को बंद करें और आपका काम हो गया। यहां स्क्रीनशॉट में, आप सिस्टम वरीयताओं के नीचे MySQL पा सकते हैं।
मैंने 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
यदि आपने 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
पैकेज स्थापित किया है।
उन सभी कमांड लाइन को आज़माने के बाद, और यह काम नहीं कर रहा है। मुझे निम्नलिखित सामान करना है:
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.