दिलचस्प पोस्ट
तार के एक आयामी सरणी को कोणीय संसाधन द्वारा 2d तक पार्स किया जा रहा है अजगर अनुरोध के साथ csrftoken उत्तीर्ण कई भाषाओं में इंट ((0.1 + 0.7) * 10) = 7 इसे कैसे रोकें? सी में संघ के बारे में एक सवाल जावास्क्रिप्ट में किसी विशेष सूचकांक में मैं एक कैरेक्टर को कैसे बदलूं? रीडर / राइटर ताले में सी ++ अक्षरों, संख्याओं, रिक्त स्थान और अंडरस्कोर के अलावा सभी वर्णों को बदलें पॉइंटर से बहुरूप वर्ग आधार वर्ग के लिए व्युत्पन्न क्लास इंस्टालेशन कॉपी / कैसे बनाऊँ? C # httpwebrequest और javascript मैं अजगर से मिलीसेकंड युक्त एक समय स्ट्रिंग कैसे पार्स कर सकता हूं? Android में ScrollView के अंदर GridView के साथ समस्याएं क्या मुझे बगल में रखने वाला कोई भी एएसपी.नेट एमवीसी नहीं मिलता है? वर्णमाला रेंज अजगर मनमानी स्कला कोड स्थान के दौरान दुभाषिया में ड्रॉप करें क्यों एक आवेदन प्रति JVM है?

सॉकेट '/var/mysql/mysql.sock' के माध्यम से स्थानीय MySQL सर्वर से कनेक्ट नहीं किया जा सकता है (38)

मेरी एसक्यूएल से जुड़ने की कोशिश में एक बड़ी समस्या है जब मैं चलाता हूं:

/usr/local/mysql/bin/mysql start 

मेरे पास निम्न त्रुटि है:

 Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (38) 

मेरे पास mysql.sock /var/mysql निर्देशिका है mysql.sock

/etc/my.cnf मेरे पास है:

 [client] port=3306 socket=/var/mysql/mysql.sock [mysqld] port=3306 socket=/var/mysql/mysql.sock key_buffer_size=16M max_allowed_packet=8M 

और /etc/php.ini मेरे पास है:

 ; Default socket name for local MySQL connects. If empty, uses the built-in ; MySQL defaults. mysql.default_socket = /var/mysql/mysql.sock 

मैंने sudo /opt/local/apache2/bin/apachectl restart का उपयोग करके अपाचे को पुनः sudo /opt/local/apache2/bin/apachectl restart

लेकिन मुझे अभी भी त्रुटि है

अन्यथा, मुझे नहीं पता कि यह प्रासंगिक है, लेकिन जब मैं mysql_config --sockets मुझे मिल सकता है mysql_config --sockets करता है

 --socket [/tmp/mysql.sock] 

Solutions Collecting From Web of "सॉकेट '/var/mysql/mysql.sock' के माध्यम से स्थानीय MySQL सर्वर से कनेक्ट नहीं किया जा सकता है (38)"

अगर आपकी फ़ाइल my.cnf (आमतौर पर / etc / mysql / फ़ोल्डर में) ठीक से कॉन्फ़िगर है

 socket=/var/lib/mysql/mysql.sock 

आप देख सकते हैं कि mysql निम्न कमांड के साथ चल रहा है:

 mysqladmin -u root -p status 

MySQL फ़ोल्डर में आपकी अनुमति बदलने की कोशिश करें। यदि आप स्थानीय तौर पर काम कर रहे हैं, तो आप कोशिश कर सकते हैं:

 sudo chmod -R 755 /var/lib/mysql/ 

कि मेरे लिए यह हल

क्या आप निश्चित रूप से MySQL और MySQL सर्वर स्थापित करते हैं?

उदाहरण के लिए mySQL सर्वर को स्थापित करने के लिए मैं yum या apt का उपयोग करके दोनों mysql कमांड लाइन टूल और सर्वर को स्थापित करूँगा:

 yum -y install mysql mysql-server (or apt-get install mysql mysql-server) 

MySQL सेवा को सक्षम करें:

 /sbin/chkconfig mysqld on 

MySQL सर्वर प्रारंभ करें:

 /sbin/service mysqld start 

बाद में MySQL रूट पासवर्ड सेट करें:

 mysqladmin -u root password 'new-password' (with the quotes) 

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

मेरे लिए काम करने वाला एक त्वरित समाधान: mysql_connect () में 'localhost' के बजाय स्थानीय आईपी पता (127.0.0.1) का उपयोग करने का प्रयास करें। यह "बलों" एक यूनिक्स सॉकेट के बजाय टीसीपी / आईपी के माध्यम से कनेक्ट करने के लिए पीएचपी

मुझे निम्नलिखित त्रुटि मिली

 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) 

कई तरीकों की कोशिश की और अंत में इसे निम्नलिखित तरीके से हल किया

 sudo gksu gedit /etc/mysql/my.cnf 

संशोधित

 #bind-address = 127.0.0.1 

सेवा मेरे

 bind-address = localhost 

और पुनः आरंभ

 sudo /etc/init.d/mysql restart 

इसने काम कर दिया

सुनिश्चित करें कि आप mysqld चला रहे हैं: /etc/init.d/mysqld start

समस्या को उत्पन्न होने से रोकने के लिए, आपको सर्वर को बंद करने के बजाय कमांड लाइन से सर्वर का एक सुंदर बंद करना होगा।

 shutdown -h now 

यह मशीन को कम करने से पहले चल रहे सेवाओं को रोक देगा।

Centos के आधार पर, इसे वापस लेने के लिए एक अतिरिक्त विधि जब आप इस समस्या में चलते हैं mysql.sock ले जाने के लिए:

 mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak service mysqld start 

सेवा को पुनरारंभ करना एक नई प्रविष्टि बनाता है जिसे mqsql.sock कहा जाता है

एक और वैकल्पिक हल /etc/my.cnf को संपादित करना है और अनुभाग में होस्ट को शामिल करना [क्लाइंट]

  [client] #password = your_password host = 127.0.0.1 port = 3306 socket = /var/run/mysql/mysql.sock 

और फिर MySQL सेवा को पुनरारंभ करें

इस समाधान में परीक्षण किया गया था: सर्वर संस्करण: 5.5.25 ए-लॉग स्रोत वितरण

जैसा कि यहां कई उत्तरों से देखा जा सकता है, वहाँ कई समस्याएं हैं जो आपको इस त्रुटि संदेश के परिणामस्वरूप जब आप MySQL सेवा शुरू कर सकते हैं। बात यह है कि, MySQL आम तौर पर आपको बताएगा कि क्या गलत है, यदि आप उपयुक्त लॉग फ़ाइल में बस देखते हैं

उदाहरण के लिए, Ubuntu पर, आपको /var/log/syslog चाहिए चूंकि बहुत से अन्य चीजें इस फ़ाइल में लॉगिंग भी हो सकती हैं, आप शायद ही MySQL संदेशों को देखने के लिए grep का उपयोग करना चाहते हैं, और tail केवल सबसे हाल ही में देखें सब एक साथ, ऐसा लग सकता है:

grep mysql /var/log/syslog | tail -50

आँख बंद करके अपने कॉन्फ़िगरेशन में परिवर्तन न करें क्योंकि किसी और ने कहा 'यह मेरे सिस्टम के लिए काम करता है।' समझ लें कि वास्तव में आपके सिस्टम में क्या गलत है और आपको बेहतर परिणाम बहुत तेज़ी से मिलेगा

मेरे पास एक ही समस्या थी और यह mysql ड्राइवरों के अद्यतन के कारण होता है जब mysql सर्वर चल रहा था मैं इसे सिर्फ mysql और apache2 दोबारा शुरू कर रहा हूं:

सुडो सर्विस माइस्क्ल स्टॉप

sudo सेवा mysql शुरू

सुडो सर्विस एपाचे 2 स्टॉप

सुडो सर्विस एपाचे 2 शुरू

अगर सब कुछ ठीक काम करता है और आपने इस त्रुटि को देखना शुरू कर दिया, इससे पहले कि आप कुछ और करें, यह सुनिश्चित करें कि आप डिस्क स्थान से बाहर नहीं हैं:

 df -h 

यदि मात्रा जहां mysql.sock बनाया जा रहा है 100% उपयोग पर है, तो MySQL इसे बनाने में सक्षम नहीं होगा और यह इस त्रुटि का कारण होगा। आपको बस इतना कुछ हटाना होगा जो पुराने लॉग फ़ाइलों की तरह आवश्यक नहीं है।

मेरे मामले में, मैं सेंटोस 5.5 का उपयोग कर रहा था। मुझे पता चला कि समस्या इसलिए थी क्योंकि मेरीएसएलएल सेवा कुछ कैसे बंद कर दी गई थी। इसलिए मैंने कमांड के साथ mysql सेवा शुरू की:

  /etc/init.d/mysqld start 

तो .. मूर्ख गलती

 sudo service mysql start 

यह आपको ठीक से सेवा करनी चाहिए एक संभावना हो सकती है कि आपने कुछ कमांड्स बदल दिए हैं जो कि mysql कॉन्फ़िगरेशन को प्रभावित करते हैं।

मुझे त्रुटि मिल रही थी क्योंकि मैं एमएएमपी चला रहा था और मेरी .sock फ़ाइल एक अलग स्थान पर थी मैंने एक प्रतीकात्मक लिंक को जोड़ा है जहां ऐप ने सोचा कि यह होना चाहिए कि यह वास्तव में कहां था और यह एक जादू की तरह काम करता है।

-h (होस्ट) और -पी (पोर्ट) के साथ प्रयास करें:

mysql -h 127.0.0.1 -P 3306 -u root -p

जब मैं अपनी फ़ाइल के लिए क्रॉन नौकरी सेट करता हूं तो मुझे यह त्रुटि मिलती है मैंने फाइल की अनुमतियों को 777 में बदल दिया है लेकिन यह अभी भी मेरे लिए काम नहीं कर रहा है अंत में मुझे समाधान मिला हो सकता है कि यह दूसरों के लिए सहायक होगा

इस आदेश के साथ प्रयास करें:

mysql -h 127.0.0.1-पी 3306 -यू रूट-पी

याद रखें कि -हो मेजबान और -पी का अर्थ है पोर्ट

यदि आप एडब्ल्यूएस (अमेज़ॅन वेब सर्विसेज) माइक्रो संस्करण का उपयोग कर रहे हैं, तो यह एक स्मृति समस्या है। जब मैं भाग गया

 mysql 

टर्मिनल से कहेंगे

 ERROR 2002 (HY000): Can't connect to local MySQL server through socket /var/run/mysqld/mysqld.sock' (111) 

इसलिए मैंने निम्नलिखित की कोशिश की और यह सिर्फ असफल हो जायेगी।

 service mysqld restart 

अधिक खोज के बाद, मुझे पता चला कि आपको पर्याप्त स्मृति के लिए MySQL के लिए एक स्वैप फ़ाइल बनाना होगा निर्देश सूचीबद्ध हैं: http://www.prowebdev.us/2012/05/amazon-ec2-linux-micro-swap-space.html

फिर, मैं mysqld पुनः आरंभ करने में सक्षम था

आप हमेशा mysql सर्वर को --socket विकल्प जैसे mysql.sock फ़ाइल का स्थान निर्दिष्ट करके शुरू कर सकते हैं

 mysql --socket=/var/mysql/mysql.sock 

यह काम करेगा, भले ही मेरी सॉकेट फ़ाइल का स्थान मेरी। Cnf फ़ाइल में किसी अलग स्थान में निर्दिष्ट किया गया हो।

उन लोगों के लिए जिनके समाधान से कोई काम नहीं आया, कोशिश करें:

 cd /etc/mysql 

जांचें कि क्या my.cnf मौजूद है

 nano my.cnf 

और सुनिश्चित करें कि आपके पास केवल एक बाँध-पता है:

बाइंड-एड्रेस = 127.0.0.1

यदि नहीं, तो यह समस्या हो सकती है, बस नैनो से बाहर निकलें और फ़ाइल को सहेज लें।

और service mysql start

ध्यान दें कि अगर आपके पास नैनो (इसका टेक्स्ट एडिटर) नहीं है, तो इसे बस apt-get install nano साथ apt-get install nano और एक बार में बाहर निकलने के लिए Ctrl + X दबाएं, वही फाइल सहेजने और इस्तेमाल करने के लिए कहने में मत भूलें)

मुझे यह भी पता चला है कि यह एक अनुमति समस्या थी। मैंने एक MySQL फाइलों की तुलना एक काम के अधिष्ठापन (दोनों डेबियन 6 निचोड़ पर) से की थी और उन्हें निम्न स्वामित्व में परिवर्तन करना था (जहां mydatabase आपके पास कोई डाटाबेस है)।

स्वामित्व mysql:mysql :

 chown mysql:mysql /var/lib/mysql chown mysql:mysql /var/lib/mysql/ib* chown mysql:mysql /var/lib/mysql/mydatabase chown mysql:mysql /var/lib/mysql/mydatabase/* chown mysql:mysql /var/lib/mysql/mysql/* 

स्वामित्व mysql:root :

 chown mysql:root /var/lib/mysql/mysql chown mysql:root /var/run/mysqld 

स्वामित्व mysql:adm :

 chown mysql:adm /var/log/mysql chown mysql:adm /var/log/mysql.err chown mysql:adm /var/log/mysql.log* 

यह सीधे आपके प्रश्न का उत्तर नहीं देता, लेकिन इसका एक सबसेट, अर्थात् PythonAnywhere का उपयोग करना मैं इस सवाल पर ठोकर खा रहा था जब मैं फिक्स की तलाश कर रहा था इसलिए मैं इसे यहाँ उम्मीद में जोड़ रहा हूं कि यह मेरी स्थिति में दूसरों की मदद करेगी।


PythonAnywhere ने डेटाबेस कनेक्शन होस्टनामों को बदलने के लिए दक्षता और विश्वसनीयता में सुधार करने का निर्णय लिया, जैसा कि यहां विस्तृत बताया गया है :

आधिकारिक होस्ट नाम का उपयोग आपको अपने खाते के MySQL डाटाबेस इंस्टेंस से जोड़ने के लिए करना चाहिए mysql.server से yourusername .mysql.pythonanywhere-services.com पर बदल गया है। यह हमारे बुनियादी ढांचे का एक हिस्सा है जो हाल के हफ्तों में समस्याओं को दिखाना शुरू कर दिया है, और इसे पुराने तरीके से अधिक कुशल और विश्वसनीय होना चाहिए।

इसलिए, आपको अपने होस्टनाम को ऊपर हाइलाइट किए गए मान को अपडेट करने की आवश्यकता होगी।

इस समस्या के कई समाधान हैं लेकिन मेरी स्थिति के लिए, मुझे मशीन / सर्वर ( Ubuntu 16.04 सर्वर ) पर DATE को सही करने की आवश्यकता है।

i) अपने सर्वर की तारीख की जांच करें और इसे ठीक करें।

ii) sudo /etc/init.d/mysql restart चलाने के लिए

उसे शुरू करना चाहिए

जोड़ा जा रहा है

 --protocol=tcp 

आपके कनेक्शन में प्रमेटर की सूची में मेरे लिए काम किया

यह मेरे लिए काफी अच्छा था

 sudo /etc/init.d/mysql restart 

आज मैं इस मुद्दे पर गया था इनमें से कोई भी जवाब तय नहीं हुआ। मुझे अपनी MySQL सेवा शुरू करने के लिए निम्न कमांड (यहां https://stackoverflow.com/a/20141146/633107 मिला) करने की जरूरत है:

 sudo /etc/init.d/mysql stop cd /var/lib/mysql/ ls ib_logfile* mv ib_logfile0 ib_logfile0.bak mv ib_logfile1 ib_logfile1.bak ... etc ... /etc/init.d/mysql restart 

/var/log/mysql/error.log में निम्न त्रुटियों से यह आंशिक रूप से संकेत दिया गया था:

 140319 11:58:21 InnoDB: Completed initialization of buffer pool InnoDB: Error: log file ./ib_logfile0 is of different size 0 50331648 bytes InnoDB: than specified in the .cnf file 0 5242880 bytes! 140319 11:58:21 [ERROR] Plugin 'InnoDB' init function returned error. 140319 11:58:21 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 140319 11:58:21 [ERROR] Unknown/unsupported storage engine: InnoDB 140319 11:58:21 [ERROR] Aborting 

मैंने डिस्क पूरी त्रुटि भी देखी, लेकिन केवल जब sudo बिना कमांड चलाने यदि अनुमति जांच विफल हो जाती है, तो यह डिस्क की पूर्ण रिपोर्ट करती है (भले ही आपका विभाजन पूरी तरह से बंद न हो)

CentOS 7, 64 बिट। ताजा स्थापना
मेरे मामले में, त्रुटि इसलिए थी क्योंकि मेरे पास सही MySQL सर्वर और MySQL ग्राहक स्थापित नहीं था।
yum का उपयोग करते हुए, मैंने mariadb और mariadb -सामुदायिक संस्करण हटा दिया। मैंने आधिकारिक MySQL वेबसाइट से क्लाइंट और सर्वर के लिए आरपीएम डाउनलोड किया है और सर्वर और क्लाइंट को स्थापित किया है।

सर्वर को स्थापित करने पर, मुझे एक संदेश दिखाया गया था कि MySQL के लिए रूट खाते में पासवर्ड को एक फ़ाइल में संग्रहित किया गया था जिसे मैं sudo cat /root/.mysql_secret साथ देख सकता था।

इसलिए क्लाइंट और सर्वर को स्थापित करने के बाद, मैंने चेक किया कि MySQL काम कर रहा था (मुझे लगता है कि ऐसा करने से पहले मैं रिबूट करता हूं) sudo service mysql status और मुझे परिणाम मिला।

MySQL चल रहा है (2601) [ओके]

मैं .mysql_secret फ़ाइल से पासवर्ड का उपयोग करके MySQL में लॉग इन किया है:
mysql -uroot -pdxM01Xfg3DXEPabpf ध्यान दें कि dxM01Xfg3DXEPabpf .mysql_secret फाइल में वर्णित पासवर्ड है।

और फिर टाइप किए गए रूट को पासवर्ड बदलने के लिए mysql प्रॉम्प्ट पर निम्न कमांड में प्रवेश किया:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('somePassword');

तब से सब कुछ ठीक काम किया

मैं 127.0.0.1 का प्रयोग किया था- h के बजाय लोकलहोस्ट और सब कुछ ठीक था। अन्य मामले में क्या था – ऊपर की गलती

 sudo service mysqld start 

मेरे लिए काम किया, मैं Centos का उपयोग कर रहा हूँ

जब मुझे सर्वर शुरू करने की कोशिश में भी यह समस्या थी, तो यहां से बहुत से उत्तर यहां दिए गए हैं, बस सर्वर शुरू करने के लिए कहें काम नहीं किया। पहली चीज आप निम्न कर सकते हैं यह देखने के लिए कि क्या कोई भी कॉन्फ़िगर त्रुटि है:

 /usr/sbin/mysqld --verbose --help 1>/dev/null 

मेरे पास एक त्रुटि है जो सामने आई है:

 160816 19:24:33 [Note] /usr/sbin/mysqld (mysqld 5.5.50-0ubuntu0.14.04.1-log) starting as process 9461 ... 160816 19:24:33 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead. 160816 19:24:33 [Note] Plugin 'FEDERATED' is disabled. 160816 19:24:33 [ERROR] /usr/sbin/mysqld: unknown variable 'innodb-online-alter-log-max-size=4294967296' 160816 19:24:33 [ERROR] Aborting 

एक सरल grep -HR "innodb-online-alter-log-max-size" /etc/mysql/ मुझे दिखाया गया कि वास्तव में कौन सी फ़ाइल में अपमानजनक रेखा है, इसलिए मैंने उस पंक्ति को फ़ाइल से हटा दिया।

उसके बाद, मेरे /var/log/mysql/error.log फ़ाइल की जांच कर I:

 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes InnoDB: than specified in the .cnf file 0 671088640 bytes! 160816 22:46:46 [ERROR] Plugin 'InnoDB' init function returned error. 160816 22:46:46 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 160816 22:46:46 [ERROR] Unknown/unsupported storage engine: InnoDB 160816 22:46:46 [ERROR] Aborting 

इस सवाल के आधार पर स्वीकार किए जाते हैं समाधान काम नहीं करेगा क्योंकि मैं भी सर्वर शुरू नहीं कर सका, इसलिए मैंने कुछ टिप्पणियों को अपनाया और मेरी /var/lib/mysql/ib_logfile0 और /var/lib/mysql/ib_logfile1 फ़ाइलें

इसने सर्वर को शुरू करने की इजाजत दी और मैं क्वेरी को कनेक्ट और निष्पादित करने में सक्षम था, हालांकि मेरी त्रुटि लॉग फाइल की जांच करने से इसे जल्दी से हजारों लाइनों के साथ भरा गया था जैसे कि:

 160816 22:52:15 InnoDB: Error: page 1415 log sequence number 82039318708 InnoDB: is in the future! Current system log sequence number 81640793100. InnoDB: Your database may be corrupt or you may have copied the InnoDB InnoDB: tablespace but not the InnoDB log files. See InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html InnoDB: for more information. 

यहां से एक सुझाव के आधार पर, इसे ठीक करने के लिए मैंने एक डाटाबेस को माइस्केडम्प और पुनर्स्थापित किया था (कई अन्य समाधानों के लिए लिंक देखें)।

 $ mysqldump -u root -p --allow-keywords --add-drop-database --comments --hex-blob --opt --quote-names --databases db_1 db_2 db_3 db_etc > backup-all-databases.sql $ mysql -u root -p < backup-all-databases.sql 

अब उम्मीद के मुताबिक सब कुछ काम कर रहा है।

मेरे लिए – यह बस MySQL का एक मामला लोड करने के लिए एक लंबा समय ले रहा था। मेरे पास एक डेटाबेस में 100,000 से अधिक टेबल हैं और यह अंततः शुरू हो गया था लेकिन जाहिर है इस उदाहरण में एक लंबा समय लगना होगा।

मुझे इस सॉकेट त्रुटि थी और यह मूल रूप से इस तथ्य से नीचे आया था कि MySQL चल नहीं रहा था। अगर आप एक ताजा अधिष्ठापन चलाते हैं, तो सुनिश्चित करें कि आप 1) सिस्टम पैकेज स्थापित करें और 2) पैनल इंस्टॉलर (mysql.prefPane)। पैनल इंस्टॉलर आपको अपने सिस्टम वरीयताओं को प्राप्त करने और MySQL को खोलने की अनुमति देगा, और तब एक उदाहरण चलाना होगा।

ध्यान दें कि, एक ताजा अधिष्ठापन पर, मुझे अपने कंप्यूटर को रीसेट करने के लिए आवश्यक रूप से परिवर्तन प्रभावी ढंग से करने के लिए रिबूट के बाद, मुझे एक नया इंस्टेंस चल रहा है और कोई भी समस्या नहीं के साथ स्थानीय होस्ट पर एक कनेक्शन खोलने में सक्षम था।

नोट के अलावा, मैं जाहिरा तौर पर MySQL के पिछले संस्करणों को स्थापित किया था लेकिन पैनल को निकाल दिया था, जो मैक उपयोगकर्ताओं के लिए चल रहे MySQL का उदाहरण प्राप्त करना आसान बनाता है।

पुनर्स्थापना की इस प्रक्रिया का एक अच्छा लिंक: http://www.coolestguyplanettech.com/how-to-install-php-mysql-apache-on-os-x-10-6/