मेरा MySQL अधिष्ठापन टूट गया है। इसे पूरी तरह से कैसे कॉन्फ़िगर करें?


20

यहाँ निम्नलिखित आदेश दिए गए हैं।

$ sudo service mysql start
mysql start/running

$ mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

$ aptitude search mysql |grep ^i
i   libapache2-mod-auth-mysql       - Module Apache 2 pour l'authentification vi
i   libdbd-mysql-perl               - Perl5 database interface to the MySQL data
i   libmysqlclient16                - MySQL database client library             
i   mysql-client-5.1                - MySQL database client binaries            
i   mysql-client-core-5.1           - MySQL database core client binaries       
i   mysql-common                    - MySQL database common files, e.g. /etc/mys
i   mysql-server-5.1                - MySQL database server binaries and system 
i   mysql-server-core-5.1           - MySQL database server binaries            
i   php5-mysql                      - MySQL module for php5                     

alm - अपने mysql.log को खोजें cat /var/log/mysql.logऔर अपने उत्तर को फाइल के साथ संपादित करें ....
hhlp

5
मुझे पसंद है जिस तरह से आपने grep ^ i का उपयोग किया। बहुत बुद्धिमान।
लुइस अल्वाराडो

यह वास्तव में क्या करता है? योग्यता स्थापना उपकरण है।
user4951

@JimThio इस प्रश्न से संबंधित स्थापित संकुल को खोजना है।
मोनिका को बहाल - ica--

जवाबों:


16

लॉग फ़ाइलों के लिए चेक / var / log / mysql को पुन: स्थापित करने से पहले जिसमें mysql काम नहीं कर रहा है के रूप में सुराग हो सकता है। यदि कोई लॉग नहीं हैं तो फ़ाइल को लॉग करना आपके कॉन्फ़िगरेशन में सक्षम नहीं हो सकता है: मैसकल त्रुटि लॉग कॉन्फ़िगर करें

के साथ किसी भी पैकेज की जाँच स्थापित संस्करण को पुनर्स्थापित करने के लिए

dpkg -l|grep mysql-server

फिर संस्करण 5.7 उपयोग के लिए

sudo apt-get install mysql-server-5.7 --reinstall

यदि यह आपको उस पैकेज को फिर से कॉन्फ़िगर करने की अनुमति नहीं देता है जिसका आप उपयोग कर सकते हैं

sudo dpkg-reconfigure mysql-server-5.7

sudo dpkg-reconfigure mysql-server-5.1 ने मेरे लिए ट्रिक किया जब मैंने 11.10 से 12.04 तक अपग्रेड किया था तो mysqld शुरू नहीं होगा और मुझे मैन्युअल रूप से sudo mysqld
Hanynowsk

7

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

MySQL प्रतिष्ठानों में यह निर्दिष्ट किया जा सकता है कि हमारे पास स्थानीय कनेक्शन के लिए सॉकेट कहां होगा। जब अद्यतन करना असामान्य नहीं है तो त्रुटि को देखना "स्थानीय MySQL सर्वर सॉकेट-थ्रू से कनेक्ट नहीं हो सकता है।" आइए देखें कि इस समस्या को कैसे हल किया जाए।

त्रुटि इस तरह दिखती है:

Mysql-u root-p
Enter password:
ERROR 2002 (HY000): Can not connect to local MySQL server-through socket '/ tmp / mysql.sock' (2)

के माध्यम से psहम देख सकते हैं कि क्या पैरामीटर द्वारा निर्दिष्ट किया गया है और यह कहाँ है:

# ps -fea | grep mysqld
mysql    17661 14003  1 Feb19 ?        00:24:59 /usr/local/mysql-percona/libexec/mysqld --basedir=/usr/local/mysql-percona --datadir=/var/data/mysql/datadir/data --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log
root     23790  7840  0 09:25 pts/0    00:00:00 grep mysqld

इस मामले में हम देखते हैं कि अंदर है /var/lib/mysql/mysql.sock। यदि पैरामीटर के रूप में नहीं मिला /etc/my.cnfतो पैरामीटर खोजने के लिए mysqld अनुभाग में देखना चाहिए :

grep socket /etc/my.cnf
socket=/var/lib/mysql/mysql.sock

अगर हमें पता है कि हमें कहाँ पर एक ही फ़ाइल को संशोधित करना है ( /etc/my.cnfतो पैरामीटर सेक्शन सॉकेट क्लाइंट को जोड़ना है:

[client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock

1
यही मैं एक जवाब के रूप में डालने जा रहा था। मैं पहले से ही जानता हूं कि इस तरह की लगभग सभी संबंधित समस्याओं के लिए यह सही उत्तर है। जब आप फिर से क्षमता प्राप्त करेंगे तो +1 करेंगे।
लुइस अल्वाराडो

पूरी तरह से स्पष्टीकरण के लिए धन्यवाद! मेरे मामले में, भले ही मैंने my.cnf में एक सॉकेट निर्दिष्ट किया हो, यह उस पर नहीं सुना था ('ps' में दिखाए गए पैरा खाली हैं और कोई कनेक्शन संभव नहीं है। वर्कअराउंड: my.cnf में क्लाइंट सेक्शन में 'protocoll = tcp' जोड़ें। बल का उपयोग करते हुए tcp और सॉकेट नहीं।
टैपर

2

बाद के दर्शकों के लिए:
मैं इसी तरह की त्रुटि के लिए आया था जब मैं mysql-server पैकेज my को अपग्रेड करने में विफल रहा, लेकिन मैंने पाया कि इस समस्या को हल किया गया । जब sudo apt-get install -fकाम नहीं करता है, तो प्रयास करें sudo apt-get purge mysql*। अब आप mysql-server को फिर से इंस्टॉल कर सकते हैं।


1
कृपया ध्यान दें कि sudo apt-get purge mysqlआपके डेटाबेस को संरक्षित नहीं करेगा
नेल्सन ओवलो

1

जिन समस्याओं में मैं भाग रहा हूं उनमें से एक यह जानना है कि मुझे किस संस्करण के साथ समस्या हो रही है। यह एक साफ विचार था:

$ aptitude search mysql |grep ^i

लेकिन यहाँ मुझे जो मिला वह इस मुद्दे पर महत्वपूर्ण था:

$ apt-get --reinstall install mysql-server-5.x

(जहाँ x संस्करण है। यदि आप इसे नहीं जोड़ते हैं, तो आप गलत dpkg के साथ काम कर सकते हैं।


0

इसने मेरे लिए काम किया

sudo apt purge mysql*
sudo apt autoremove
sudo apt autoclean
sudo apt install mysql-server

विवरण

1) पहला कमांड MySQL से संबंधित सभी चीजों को उनकी कॉन्फ़िगरेशन फ़ाइलों के साथ हटा देता है।

2) दूसरा उन पैकेजों को हटा देता है जिनकी अब कोई आवश्यकता नहीं है।


Refrences [!]:

1) DigitalOcean

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