Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Homebrew MySQL 8.0.18 macOS 10.15 पर कैटालिना सेवा के रूप में नहीं चलेगा

कभी भी sudo का उपयोग न करें कमांड के साथ brew . यह संबंधित फाइलों के स्वामित्व को बर्बाद कर देगा। चल रहा है brew क्योंकि रूट समर्थित नहीं है। (मैं बात कर रहा हूं brew , नहीं mysqld )

होमब्री दस्तावेज़ से उद्धरण

brew

check-run-command-as-root() {
  ...
  odie <<EOS
Running Homebrew as root is extremely dangerous and no longer supported.
As Homebrew does not drop privileges on installation you would be giving all
build scripts full access to your system.
EOS
}

समाधान

  1. सेवा को अक्षम करें और लॉन्चडेमन को हटा दें।

    # stop and unload the launchdaemon
    sudo launchctl unload -w /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
    # remove the lauchdaemon file
    sudo rm -f /Library/LaunchDaemons/homebrew.mxcl.mysql.plist
    sudo rm -f /tmp/mysql.sock /tmp/mysqlx.sock
    
  2. Homebrew संबंधित फ़ाइलों का स्वामित्व ठीक करें

    # For x86 Mac
    sudo chown -R "$(whoami):admin" /usr/local/*
    # For M1 Mac
    sudo chown -R "$(whoami):admin" /opt/homebrew/*
    # it will take some time
    
  3. MySQL सेवा को पुन:सक्षम करें।

    # DO NOT USE "sudo brew"
    brew services start mysql
    

अपडेट करें :

ऐसा लगता है कि आप में से कुछ लोग Homebrew से परिचित नहीं हैं। मैं समझाता हूँ कि Homebrew यहाँ सेवाओं का प्रबंधन कैसे करता है।

mysqld पोर्ट पर सुनता है 3306 डिफ़ॉल्ट रूप से, जो एक विशेषाधिकार प्राप्त पोर्ट नहीं है। इसलिए mysqld शुरू करने की कोई आवश्यकता नहीं है जड़ के साथ। systemd प्रारंभ होता है mysqld Linux पर रूट के साथ, लेकिन macOS Linux नहीं है।

Homebrew launchd . की सहायता से सेवाओं का प्रबंधन करता है , जो एक तरह का systemd है macOS पर वैकल्पिक। launchd एक अग्रभूमि प्रक्रिया शुरू करता है और इसे आपके लिए प्रबंधित करता है, ठीक उसी तरह जैसे systemd करता है।

brew services start/stop mysql आपकी जरूरत को पूरा करेगा। यह एक लॉन्च फ़ाइल बनाता है ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist , प्रारंभ होता है mysqld इसके साथ (वर्तमान उपयोगकर्ता द्वारा संचालित)।

/usr/local/mysql/support-files/mysql.server mysqld start शुरू करने में आपकी मदद करने के लिए MySQL द्वारा लाई गई एक शेल स्क्रिप्ट है . इसका सीधे उपयोग करने की अनुशंसा नहीं की जाती है जब तक आप MySQL को स्रोत बाहर . से बनाते हैं होमब्रू। यदि आप Homebrew का उपयोग कर रहे हैं, तो बस brew services . के साथ बने रहें . या इसे दूसरे तरीके से कहें, अगर आप Homebrew का उपयोग कर रहे हैं, तो आपको Homebrew तरीके से काम करना चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक SIMILAR स्ट्रिंग को खोजने और बदलने के लिए preg_match के साथ RegEx

  2. MySQL की सूचना योजना को क्वेरी करना:क्यों? कैसे?

  3. MySQL बिनलॉग सर्वर की खोज - रिपल

  4. max_allowed_packet आकार कैसे बदलें

  5. SQLSTATE [42000]:सिंटैक्स त्रुटि या पहुँच उल्लंघन:1055 एक्सप्रेशन #3 का चयन सूची समूह द्वारा खंड में नहीं है और इसमें गैर-समेकित है