ERROR 2002 (HY000): सॉकेट '/tmp/mysql.sox' के माध्यम से स्थानीय MySQL सर्वर से कनेक्ट नहीं हो सकता


202

मैंने मैक ओएस एक्स माउंटेन शेर के साथ MySQL स्थापित किया homebrew install mysql, लेकिन जब मैंने कोशिश की तो mysql -u rootमुझे निम्नलिखित त्रुटि मिली:

ERROR 2002 (HY000): सॉकेट '/tmp/mysql.sock' (2) के माध्यम से स्थानीय MySQL सर्वर से कनेक्ट नहीं हो सकता

इस त्रुटि का मतलब क्या है? मेरे द्वारा यह कैसे किया जा सकता है?


3
इसे उत्तर के रूप में पोस्ट नहीं किया, लेकिन आपको install mysql-serverसिर्फ mysql
अवलंबी

3
@HankyPanky शायद यह सच था जब आपने इसे लिखा था। लेकिन 2016 में ब्रू के पास कोई नहीं mysql-serverहै install
jjpe

21
यह नोट करना महत्वपूर्ण है कि आपने Homebrew का उपयोग करके इंस्टॉल किया है इसलिए गैर-होमब्रेव युक्तियों को अनदेखा करें और ( brew services start mysqlया यदि आप एक पृष्ठभूमि सेवा नहीं चाहते हैं तो स्टार्टअप पर पुनः आरंभ करें ) mysql.server start
डेव एवरिट

1
मुझे यह काम करने के लिए मिला लेकिन पुराने सामान्य mysql के साथ 5.7.19। नया mysql@5.7 वर्जन 5.7.24काम नहीं कर सका क्योंकि कुछ कॉन्फिग रेफरेंस को नए ब्रू सेलर mysql@5.7 Keg के बजाय पुराने mysql से जोड़ा गया था। इसलिए धन्यवाद, मैं इसे बाद में कोशिश करता हूं
कीटलडॉग

1
यह त्रुटि भी चलने के बाद होने की संभावना है brew upgradeजो पहले स्थापित की तुलना में mysql का एक नया संस्करण स्थापित करेगा।
जॉन्सैम्पसन

जवाबों:


113

यह शायद इसलिए है क्योंकि MySQL स्थापित है लेकिन अभी तक नहीं चल रहा है।

यह सत्यापित करने के लिए कि यह चल रहा है, गतिविधि मॉनिटर खोलें और "सभी प्रक्रियाओं" के तहत, खोज करें और सत्यापित करें कि आप प्रक्रिया "mysqld" देख रहे हैं।

आप इसे "MySQL.prefPane" इंस्टॉल करके शुरू कर सकते हैं।

यहाँ पूरा ट्यूटोरियल है, जिसने मेरी मदद की: http://obscuredclarity.blogspot.in/2009/08/install-mysql-on-mac-os-x.html


95
मैं बस भागा mysqldऔर वह सब था, यह एक तरह से हार्ड रीसेट / सिस्टम के शट-डाउन के कारण खराब शट डाउन का कारण था ।
प्रो। नंदा

2
सुझाए गए तरीकों में से कोई भी काम नहीं किया। मेरे लिए, यह चल रहा था, हालांकि, एक अनुमति मुद्दा था। रनिंग sudo chown -R _mysql:mysql /usr/local/var/mysql && sudo brew services restart mysql@5.7ने इस समस्या को हल किया
FooBar

जब एक्टिविटी मॉनिटर में देख रहे हैं, तो mysqlId चल रहा है; इसके आस-पास काम करने के लिए बस mysql को रोकें फिर इसे पुनरारंभ करें।
JpersaudCodezit

108

इससे पहले कि आप mysqlअपने टर्मिनल पर कमांड का उपयोग कर सकें, आपको MySQL शुरू करना होगा । ऐसा करने के लिए, भागो brew services start mysql। डिफ़ॉल्ट रूप से, काढ़ा बिना रूट पासवर्ड के MySQL डेटाबेस को स्थापित करता है। इसे चलाने के लिए सुरक्षित mysql_secure_installation:।

कनेक्ट कनेक्ट करने के लिए mysql -uroot:। rootउपयोगकर्ता नाम यहाँ है।


8
रनिंग sudo chown -R _mysql:mysql /usr/local/var/mysql && sudo brew services restart mysql@5.7ने इस मुद्दे को हल किया
FooBar

1
सोच रहे लोगों के mysql_secure_installationलिए एक mariaDB विशिष्ट स्क्रिप्ट है।
T.Woody

3
brew services start mysqlसफलता। लेकिन जब मैं इसके mysql -urootपीछे भागता हूं , तब भी वही त्रुटि होती है।
हार्पर कू

क्या यह आवश्यक है कि इसे हर बार मैक मैक स्टार्ट होने पर चलाएं या एक बार त्रुटि से छुटकारा पाने के बाद / MySQL चालू रखें या स्टार्टअप पर शुरू करें?
कॉनर लीच

इसे एक बार चलाना पर्याप्त होना चाहिए।
एमडी मजेदुल इस्लाम खान

90

होमबॉव स्थापित करने और अनुमति के मुद्दों के कारण ऐसा होता है। निम्न आदेशों ने समस्या को ठीक किया।

sudo chown -R _mysql:mysql /usr/local/var/mysql

sudo mysql.server start

2
आप भयानक हैं @ अग्निजन, मैं अपना सिर दीवार पर मार रहा था: थम्सअप:
रवि शर्मा

ठंडा। मैं अपनी समस्या को तब हल कर सकता हूं जब किसी अन्य मैक एडमिन अकाउंट में बदलाव किया जाए :)
विलियम वोंग गार्इ

बहुत - बहुत धन्यवाद। मैं अब 5 घंटे से अधिक समय से अपना सिर फोड़ रहा हूं। इंटरनेट पर कई उत्तरों को देखा और केवल इससे मदद मिली।
ivange94

मैं तुमसे प्यार करता हूँ @nirojan
Raccoon

कुडोस! लेकिन जब मैंने अपना मैकबुक पुनः आरंभ किया, तो मेरे पास एक ही मुद्दा है।
जूनियर गैन्टिन

46

Daud: brew info mysql

और निर्देशों का पालन करें। सूत्र में वर्णन से:

Set up databases to run AS YOUR USER ACCOUNT with:
    unset TMPDIR
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

To set up base tables in another folder, or use a different user to run
mysqld, view the help for mysql_install_db:
    mysql_install_db --help

and view the MySQL documentation:
  * http://dev.mysql.com/doc/refman/5.5/en/mysql-install-db.html
  * http://dev.mysql.com/doc/refman/5.5/en/default-privileges.html

उम्मीद है की यह मदद करेगा।


35

जैसा कि अन्य लोगों ने बताया है कि MySQL स्थापित है, लेकिन सेवा नहीं चल रही है। MySQL सेवा को शुरू करने के कई तरीके हैं और मेरे लिए जो काम किया है वह नीचे है।

सेवा शुरू करने के लिए:

  1. "सिस्टम वरीयता" पर जाएं
  2. निचले फलक पर MySql आइकन होना चाहिए।
  3. 'MySQL सर्वर स्थिति' लॉन्च करने के लिए डबल क्लिक करें और 'Start MySQL सर्वर' बटन दबाएँ

मेरी एनवी:

मैक योसेमाइट 10.10.3

स्थापित पैकेज: /Volumes/mysql-advanced-5.6.24-osx10.8-x86_64


@HosMercury आप पुष्टि कर सकते हैं कि आपके पास MySQL स्थापित है
इटार

मैं आधिकारिक Myql वेब पेज से mysql डाउनलोड और स्थापित करता हूं। यह समाधान मेरे लिए काम करता है। धन्यवाद :)
鄭元傑

1
नमस्ते, मैंने आधिकारिक वेब पेज से mysql को डाउनलोड और इंस्टॉल किया है, लेकिन वरीयता फलक में सर्वर सक्रिय नहीं है (लाल डॉट), जब मैं 'एसक्यूएल सर्वर शुरू करता हूं' पर क्लिक करता है तो यह 'ग्रीन' को दूसरी और वापस लाल करने के लिए बदल जाता है, कुछ नहीं हुआ। मैंने 'chown' की कोशिश की, tmp / mysql.socket के लिए सिमिलिंक, अनइंस्टॉल / री-इंस्टॉल, ब्रुअ इंस्टॉल mysql, लेकिन सभी विफल। काढ़ा स्थापित मुझे एक असंतुष्ट त्रुटि, सिएरा या उच्च ओएस की आवश्यकता के बारे में कुछ देता है। मैं el capitan चला रहा हूं। किसी भी सहायता की सराहना की जाएगी।
स्पेंसर ट्रिन

24

समाधान चारों ओर घूमते हैं:

  • MySQL की अनुमतियां बदलना

    sudo chown -R _mysql:mysql /usr/local/var/mysql
  • एक MySQL प्रक्रिया शुरू

    sudo mysql.server start

बहुत सारे महान और उपयोगी उत्तरों को जोड़ने के लिए जो कि यहाँ प्रदान किए गए हैं और कई अलग-अलग पोस्टों से, होस्ट को निर्दिष्ट करने का प्रयास करें यदि उपरोक्त कमांड आपके लिए इस समस्या को हल नहीं करते हैं, अर्थात

mysql -u root -p h127.0.0.1

मेरे लिए यह अनुमतियाँ मुद्दा था
pfwd

यह होना चाहिए: mysql -u रूट -p -h127.0.0.1
ड्यूक ची

वाह, मेरे सभी स्थानीय सामान को पोंछने से बेहतर समाधान। यह एक त्वरित तय था!
जॉर्डन

मैंने ऊपर कोशिश की, लेकिन आखिरकार, इसने काम किया: सूडो चाउन -R $ (whoami) $ (काढ़ा - उपसर्ग) / *
किरण रूथ

15

चेतावनी - यह विधि आपके सभी डेटाबेस को हटा देगी /usr/local/var/mysql फ़ोल्डर

मेरे पास Homebrew के साथ MySQL स्थापित था, और मेरे लिए यह तय करने वाली एकमात्र चीज MySQL को फिर से स्थापित कर रही थी।

अपनी कंपनी के लैपटॉप पर, मुझे Homebrew के माध्यम से अपने कंप्यूटर से MySQL की स्थापना रद्द करने की अनुमति नहीं थी:

$ brew uninstall mysql --ignore-dependencies
Uninstalling /usr/local/Cellar/mysql/8.0.12... (255 files, 233.0MB)
Error: Permission denied @ dir_s_rmdir - /usr/local/Cellar/mysql/8.0.12

इसलिए इसके बजाय, मैंने MySQL को मैन्युअल रूप से हटा दिया और पुन: इंस्टॉल किया:

$ sudo rm -rf /usr/local/Cellar/mysql
$ brew cleanup
$ sudo rm -rf /usr/local/var/mysql
$ brew install mysql

और वह काम किया!


चेतावनी - यह विधि आपके सभी डेटाबेस (in / usr / local / var / mysql फ़ोल्डर) को हटा देगी।
जॉन्सैम्पसन

13

नीचे मैं brew install mysqlइस मुद्दे की इतनी नई खोजों के नवीनतम निर्देशों को शामिल कर सकता हूं:

$ brew install mysql
==> Downloading https://homebrew.bintray.com/bottles/mysql-5.6.26.yosemite.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring mysql-5.6.26.yosemite.bottle.1.tar.gz

To connect:
    mysql -uroot

To have launchd start mysql at login:
  ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
  mysql.server start

मेरे मामले में मैंने mysql को अब लोड किया launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plistऔर फिर लॉन्च करने में सक्षम था$ mysql और अपने रास्ते पर आने में ।

मुझे आशा है कि यह हाल के संकटमोचनों की मदद करता है!


11

ऐसा लगता है कि आपका mysql सर्वर शुरू नहीं हुआ है। मैं आमतौर पर स्टॉप कमांड चलाता हूं और फिर इसे फिर से शुरू करता हूं:

mysqld stop
mysql.server start

एक ही त्रुटि, और यह मेरे लिए काम करता है।


9

जब मैंने mysql सेवा को फिर से शुरू किया तो इसने मेरा मुद्दा ठीक कर दिया। बस दौडो:

brew services start mysql

8

यह समस्या /usr/local/var/mysqlफ़ोल्डर एक्सेस से संबंधित है , मैं इस फ़ोल्डर को हटाता हूं और mysql को पुनर्स्थापित करता हूं।

  1. काढ़ा के साथ mysql की स्थापना रद्द करें:

    brew uninstall mysql

  2. sudo rm -r /usr/local/var/mysql

  3. brew install mysql@8.0
  4. mysql -u root

यह समाधान मेरे लिए ठीक काम करता है! लेकिन आप अपने सभी डेटा खो! चेतावनी!


2
यह भविष्य के पाठकों के लिए समस्या को ठीक करने की संभावना से अधिक होगा, चेतावनी दी जाएगी कि यह आपके सभी डेटाबेस को मिटा देगा। यह मूल रूप से MySQL का एक कठिन री-इंस्टॉल है। मुझे पता है कि प्रश्न का संदर्भ एक नई स्थापना थी, लेकिन कुछ लोग जो स्कैन कर रहे हैं वे बिना किसी नुकसान के यह जानने की कोशिश कर सकते हैं कि यह मौजूदा / उत्पादन स्थापित पर हो सकता है।
efru

1
यह वास्तव में एक समाधान नहीं है। यह "क्या आपने इसे फिर से चालू और बंद करने की कोशिश की है?"
बेरी एम।

6

ऑउग, यह पता लगाने में मुझे कुछ समय लगा। मैंने इसे एक टिप्पणी में देखा। काढ़ा का उपयोग करके mysql को स्थापित करने के बाद, और सेवा शुरू करना (शायद उपयोग करना sudo brew services start mysql) फिर चलाएं:

$ mysqld

और MySQL इसके बाद के लिए चलना चाहिए।


5

मेरे लिए यह चलाना जितना आसान था:

/usr/local/opt/mysql/bin/mysqld_safe

के बजाय mysqld


1
इसने मेरे लिए काम किया। यकीन नहीं क्यों, लेकिन यह मेरी मशीन पर मैक ओएस रीस्टार्ट बग से संबंधित हो सकता है
kraftydevil

3

मुझे अपनी समस्या का हल मिल गया। यह वास्तव में था क्योंकि मेरा MySQL सर्वर नहीं चल रहा था।

यह MySQL द्वारा सही तरीके से मेरी मशीन पर सेट नहीं किए जाने के कारण था, इस प्रकार यह चलने में सक्षम नहीं था।

इसे मापने के लिए, मैंने एक स्क्रिप्ट का उपयोग किया जो मैक ओएसएक्स माउंटेन लायन पर MySQL स्थापित करता है , जिसमें लापता फाइलें स्थापित होनी चाहिए।

यहाँ लिंक है: http://code.macminivault.com/

महत्वपूर्ण नोट: यह स्क्रिप्ट रूट पासवर्ड को बेतरतीब ढंग से उत्पन्न स्ट्रिंग के रूप में सेट करती है, जिसे वह डेस्कटॉप पर सहेजता है, इसलिए ध्यान रखें कि इस फाइल को डिलीट न करें और पासवर्ड को नोट करें। यह आपके सिस्टम वरीयताओं में MySQL प्रबंधक भी स्थापित करता है। मुझे यकीन नहीं है कि अगर कोई मौजूदा डेटाबेस निकालता है, तो उसके बारे में सावधान रहें।



3

मैं इस समस्या से गुज़रा और मैं नीचे दिए गए समाधान का उपयोग करके mysql सर्वर को चलाने में कामयाब रहा

Mysql के माध्यम से स्थापित करें .dmg( https://dev.mysql.com/downloads/mysql/5.7.html ), आपको सिस्टम वरीयताओं में mysql सेवा पैनल मिलेगा फिर पैनल से mysql शुरू करें और प्रयास करें

mysql -u root -p

संदर्भ के लिए संलग्न चित्र

सिस्टम प्रेफरेंसेज

मैसकल पैनल


2

कई घंटों तक इस पर काम करने के बाद जो मेरे लिए काम करता था वह / etc / mysql / पर जाता था और my.cnf फ़ाइल को संपादित करता था। निम्नलिखित जोड़ें

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

1
इसने मेरे लिए भी चाल चली, हालांकि मेरे ओएस / mysql संस्करण के लिए यह था: /etc/my.conf, और सॉकेट /var/lib/mysql/mysql.sock/var/log/mysqld.log में इंगित करना चाहिए आपको सॉकेट फ़ाइल कहाँ है।
कीथ्पजोलले

1

मैंने इस मुद्दे को हल करने के लिए हर संभव कोशिश की है, जैसे ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock, mysql को अनइंस्टॉल और रीस्टोर करना, सुनिश्चित करें कि ansql xampp पर चल रहा है, लेकिन इसमें से कोई भी काम नहीं किया है ।

अंत में, मैं my.cnf (कॉन्फिग फाइल) को खोलता हूं और सॉकेट पाथ को कॉपी करता हूं (सुनिश्चित करें कि यह पूर्ण पथ की नकल नहीं करेगा और यह काम नहीं करेगा)। फिर मैं अपने टर्मिनल में यह कमांड करता हूं

mysql --socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

लो, और निहारना, mysql लॉन्च।

यह समाधान केवल तभी काम करेगा जब आपका MySQL Xampp / Ampps पर चलता हुआ दिखाया गया हो, लेकिन टर्मिनल में यह तब भी सही सॉकेट से कनेक्ट नहीं होता है, जब आप पहले से ही कुछ ऐसा प्रयास कर चुके होते हैं:

./mysql -u root

या

brew services start mysql

आशा है कि ये आपकी मदद करेगा!


मैंने इस पोस्ट से प्रत्येक सुझाए गए समाधान की भी कोशिश की, और यह काम नहीं किया है। क्या आपको xampp स्थापित करने की आवश्यकता है? मैं इससे परिचित नहीं हूं। मैंने केवल आधिकारिक वेबसाइट (.DMG) से mysql सर्वर GPL संस्करण स्थापित किया है। मुझे विश्वास नहीं होता कि मेरे पास यह ऐप है - XAMPP। क्या आप कृपया विस्तार से बता सकते हैं? धन्यवाद।
स्पेंसर

1

केवल इसने मेरे लिए चाल बनाई है brew services start --all (सभी उत्तरों को आजमाने के बाद)


2
यह बताएं कि यह प्रश्न से कैसे संबंधित है।
मेंटलबर्ग

1

मैं आपको चलाने की सलाह दूंगा

  mysql.server start

जाने से पहले

  mysql -u root -p

इसलिए यह सुनिश्चित करने के लिए कि mysql सर्वर इसमें लॉगिन करने की कोशिश कर रहा है

ऐसा कई बार होता है कि आप एक ऐसी मशीन को शुरू / पुनः आरंभ करते हैं जहाँ कोई mysql सर्वर नहीं चल रहा है।


1

मैं इस पोस्ट पर वापस आता रहता हूं, मैंने कई बार इस त्रुटि का सामना किया है। यह एक ताजा स्थापित करने के बाद मेरे सभी डेटाबेस आयात करने के साथ करना पड़ सकता है।

मैं homebrew का उपयोग कर रहा हूँ। केवल एक चीज जो मेरे लिए इसे ठीक करती थी:

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

आज सुबह, मेरी मशीन रात भर बंद करने का निर्णय लेने के बाद वापस लौटी। केवल एक चीज जो इसे तय करती है वह थी mysql को अपग्रेड करना।

brew upgrade mysql

0

MAMP को टर्मिनल से एक्सेस करने के बाद स्थापित करने के ठीक बाद मेरे मामले में वही सॉकेट त्रुटि दे रहा था। अंत में यह सब चाहता था एक पुनरारंभ था और यह काम कर रहा है।


0

यहाँ कई अन्य उपयोगी प्रतिक्रियाएँ, लेकिन मेरे लिए यह कुछ भी तय नहीं हुआ। अंततः मुझे इस साइट पर कुछ भी नहीं मिला या अन्य लोगों को मेरे लिए काम कर रहे Homebrew से MySQL का कोई भी संस्करण मिलेगा।

यह सुपर दर्द रहित था बस https://dev.mysql.com/downloads/file/?id=479114 से डीएमजी डाउनलोड करें (उचित संस्करण की आपको आवश्यकता है) और विज़ार्ड को मेरे लिए इसे स्थापित करने दें। केवल अन्य मैनुअल कदम जोड़ रहा था/usr/local/mysql/bin मेरे पेट ।

मैं इस विकल्प की सिफारिश करूंगा यदि काढ़ा आपको परेशान कर रहा है।

अद्यतन - अगर यह अभी भी इसे ठीक नहीं करता है, DMG के माध्यम से स्थापित करने से पहले पूरी तरह से mysql को शुद्ध करने का प्रयास करें। इन निर्देशों का पालन करें: https://gist.github.com/vitorbritto/0555879fe4414d18569d


मैं DMG फ़ाइल के माध्यम से भी स्थापित है, लेकिन मैं अभी भी इस सॉकेट त्रुटि मिलता है। mysql --version मेरे और --help के लिए काम करता है, लेकिन कुछ और नहीं। मैंने काम करने के लिए --version और --help कमांड प्राप्त करने के लिए पथ को जोड़ा। क्या आप कृपया कुछ सलाह दे सकते हैं? धन्यवाद।
स्पेंसर ट्रिन

पहले mysql को शुद्ध करने के बारे में अपडेट देखें। वह अपने और कई सहकर्मियों के लिए इसे ठीक कर रहा है।
पैट्रिक


0

कैटालिना ओएस में अपग्रेड करने के बाद इसी तरह की समस्या का सामना करना पड़ा। Mysqld कमांड चलाने के बाद, मैंने पाया कि लॉग फ़ाइल के साथ कुछ समस्या थी। यह दूसरों के लिए अलग हो सकता है।

$ mysqld

मुद्दा था

2019-10-16T04:58:59.174474Z 0 [ERROR] Could not open file '/var/log/mysql/error.log' for error logging: No such file or directory
2019-10-16T04:58:59.174508Z 0 [ERROR] Aborting

इसे बनाकर और उचित अनुमतियों को लागू करके इसे हल किया।

sudo mkdir -p /var/log/mysql
sudo touch /var/log/mysql/error.log
sudo chown -R _mysql:mysql /var/log/mysql/

MySQL को पुनरारंभ करें

brew services restart mysql@5.7

मसला हल हो गया।

mysql -uroot -proot

0

कई समाधानों की कोशिश करने के बाद, ऐसा लगता है कि आखिरकार आईपी द्वारा कनेक्ट करने की चाल चली गई थी। अब बेतरतीब ढंग से हटाई जा रही सॉकेट फ़ाइल नहीं।

बस अपने MySQL क्लाइंट कॉन्फिग को अपडेट करें (जैसे /usr/local/etc/my.cnf):

[client]
port = 3306
host=127.0.0.1
protocol=tcp

-4
  1. MySQL को अनइंस्टॉल करें।
  2. हटाना /usr/local/var/mysql/
  3. MySQL स्थापित करें।

1
क्या यह आपके पास मौजूद सभी डेटाबेस को नहीं उड़ा देगा? मेरे लिए एक भारी-भारी समाधान की तरह लगता है, खासकर यह देखते हुए कि शायद यह सिर्फ MySQL की समस्या नहीं है।
मार्टिन टूरनोइज

हाँ, यह होगा, लेकिन सवाल के अनुसार, यह एक नई स्थापना थी और इसलिए यह धारणा थी कि कोई भी डेटाबेस होगा।
आमोद कुलकर्णी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.