MySql सर्वर स्टार्टअप त्रुटि 'सर्वर पीआईडी ​​फ़ाइल को अद्यतन किए बिना छोड़ दिया'


284

हिम तेंदुए पर, MySQL शुरू करने से निम्नलिखित त्रुटि होती है:

सर्वर पीआईडी ​​फ़ाइल को अपडेट किए बिना छोड़ दिया

my.cnf

[mysqld]
port            = 3306

socket          = /tmp/mysql.sock

skip-external-locking

key_buffer_size = 16K

pid-file=/var/run/mysqld/mysqld.pid

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

7
व्यवस्थापक उपयोगकर्ता के रूप में चल रहा है। sudo /usr/local/mysql/support-files/mysql.server के साथ शुरू
चिन्मय

6
एक ही समस्या है। शराब के साथ mysql स्थापित
vrybas

20
यहां भी यही समस्या। काढ़ा के साथ भी स्थापित किया।
jspooner

11
मुझे यह मामला मेरे मैक पर भी मिला, और '/rr/local/var/mysql/*.err' जैसे त्रुटि लॉग को सफलतापूर्वक हटा दिया।
मैथ्यू पी। जोन्स

3
मुझे भी मैक पर वही त्रुटि मिली। लेकिन मैंने इसे हल कर लिया। यदि आप .dmg फाइल सिस्टम प्रेफरेंस में जाते हैं, तो mysql आइकन पर क्लिक करें और फिर mysql बटन पर क्लिक करें।
अमरनाथ मेधा

जवाबों:


276

प्रत्यय ".err" के साथ अपनी लॉग फ़ाइल खोजने का प्रयास करें, अधिक जानकारी होनी चाहिए। इसमें हो सकता है:

/usr/local/var/mysql/your_computer_name.local.err

यह शायद अनुमतियों के साथ समस्या है

  1. जांचें कि क्या कोई mysql इंस्टेंस चल रहा है

    ps -ef | grep mysql

    यदि हाँ, तो आपको इसे रोकना चाहिए, या प्रक्रिया को मारना चाहिए

    किल -9 पीआईडी

    PIDपिछली कमांड के आउटपुट पर उपयोगकर्ता नाम के बगल में प्रदर्शित संख्या कहां है

  2. के स्वामित्व की जाँच करें /usr/local/var/mysql/

    ls -laF / usr / स्थानीय / var / mysql /

    यदि यह rootआपके द्वारा मालिक है तो इसे बदलना चाहिए mysqlयाyour_user

    sudo chown -R mysql / usr / लोकल / var / mysql /


24
मुझे अपने उपयोगकर्ता के बजाय mysql उपयोगकर्ता को धोखा देना पड़ा।
Jared

3
मेरे लिए काम किया। मैं त्रुटि फ़ाइल की जाँच की और कहा कि यह becuase ओ फ़ाइल अनुमति थी। चाउ कमांड को अंजाम दिया और काम किया। धन्यवाद!!
पैकेट ट्रेसर

2
सुडो चाउन -R my_user / usr / local / var / mysql / मेरे लिए कम से कम काम किया
Bjørn Børresen

मेरे स्वयं के अनुभव से - सावधान रहें कि आपके द्वारा सुडो चाउन करने के बाद जो आपके पास वर्तमान में किसी अन्य उपयोगकर्ता या रूट के तहत चलने वाली कुछ mysql प्रक्रिया नहीं है। ps -ef | grep mysql मान्य करेगा कि आपके पास कुछ भी नहीं है - अन्यथा आप इसे शुरू नहीं कर पाएंगे।
आर्थर फ्रैंकेल

1
कुल जीवन रक्षक। मेरा एकमात्र अवलोकन mysql फ़ोल्डर में फ़ाइल पथ भिन्न हो सकता है।
एलिसबोआ

198

क्या आपने निर्देशों का पालन किया है brew install mysql?

अपने उपयोगकर्ता खाता के रूप में चलाने के लिए डेटाबेस सेट करें:

Mysql के लिए 5.x:

unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

किसी अन्य फ़ोल्डर में बेस टेबल सेट करने के लिए, या mysqld को चलाने के लिए किसी अन्य उपयोगकर्ता का उपयोग करें, इसके लिए सहायता देखें mysqld_install_db:

mysql_install_db --help

और MySQL प्रलेखन देखें:

Mysql के लिए 8.x:

unset TMPDIR
mysqld --initialize-insecure --log-error-verbosity --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

डेटा निर्देशिका सुनिश्चित करें /usr/local/var/mysql उपरोक्त खाली है, यदि आवश्यक हो तो इसे बैकअप करें।

उदाहरण के लिए, उपयोगकर्ता "mysql" को चलाने के लिए, आपको निम्न की आवश्यकता हो सकती है sudo:

sudo mysql_install_db ...options...

Mysqld को मैन्युअल रूप से प्रारंभ करें:

mysql.server start

नोट: यदि यह विफल रहता है, तो आप शायद पहले दो चरणों को ऊपर चलाना भूल गए हैं


78
यदि आप आउटपुट से चरणों का पालन करने के बाद भी बार-बार एक ही त्रुटि प्राप्त कर रहे हैं तो * .pr फ़ाइल को उसी .p फ़ाइल के रूप में उसी निर्देशिका से हटा दें। mahdiyusuf.com/post/21022913180/…
ekillaby

6
मैंने एक लाख बार इन निर्देशों का पालन करने की कोशिश की, लेकिन कभी भी इसे काम नहीं मिला। जब से मुझे लगा कि उन्हें कोई फर्क नहीं पड़ा है, मुझे लगता है कि जब तक मुझे लगता है कि डॉक्टर ने मुझे चेतावनी नहीं दी है, तब तक सभी चीजों की सफाई नहीं कर मैंने "धोखा" देने की कोशिश की। अंत में, काढ़ा बनाने वाले डॉक्टरों की सलाह और सफाई ने उपरोक्त वर्णित सेटअप के माध्यम से चलना संभव बना दिया। तो किसी और के पास से गुजरने के लिए एक नोट; काढ़ा डॉक्टर को धोखा देने की कोशिश न करें और सोचें कि आप बेहतर जानते हैं!
अवधि

9
मैं अभी भी चीजों की एक गुच्छा गलत है जब मैं डॉक्टर काढ़ा और अपने स्वयं के उपयोगकर्ता के लिए लिखने की अनुमति जोड़कर किया था चाल। sudo chown -R your_user /usr/local/var/mysql/बस @ टॉम्बर्ट के जवाब के रूप में :)
गैबेलरॉक्स

1
@countfloortiles हाँ! त्रुटि फ़ाइल को निकाल कर किया। :-)
ott--

6
mysqld_install_dbआदेश मुझे त्रुटि देता हैmysql_install_db: [ERROR] unknown variable 'tmpdir=/tmp'
Snowcrash

125

मेरे पास मेरी मैक मशीन पर एक ही मुद्दा था (इसके द्वारा सुझाए गए सभी स्थापना चरणों का सही ढंग से पालन किया गया brew install )।

त्रुटि फ़ाइल को हटाना मेरे लिए इसे निर्धारित करता है:

sudo rm -rf /usr/local/var/mysql/dev.work.err (dev.work मेरा होस्टनाम है)

यह काम किया क्योंकि मेरे अपने उपयोगकर्ता नाम के बजाय dev.work.errस्वामित्व था _mysql:wheel। त्रुटि फ़ाइल को डाउनलोड करने से संभवत: इसे भी ठीक कर दिया जाएगा।


2
इसने मेरी समस्या को भी हल कर दिया, mysql को रिबूट करने के बाद मैं अब और काम नहीं कर सकता, मुझे यह वही मुद्दा दे रहा है, लेकिन त्रुटि लॉग को हटा दिया गया जो _mysql के स्वामित्व में था: व्यवस्थापक ने समस्या हल की
user980085

5
यह सबसे अधिक मददगार लग रहा था, मुझे एहसास हुआ कि मुझे यह सेवा SUDO के साथ शुरू नहीं करनी चाहिए बल्कि इसे अपने उपयोगकर्ता खाते के तहत चलाना चाहिए।
Bnjmn

3
यह उन लोगों के लिए एक बहुत अच्छा जवाब है, जिन्होंने
Stephane Paquet

विभिन्न चीजों की कोशिश करने के हफ्तों के बाद, जब मैंने त्रुटि फ़ाइल को हटा दिया तो सब कुछ काम करना शुरू कर दिया। साभार
DF

मुझे इसे हटाने की ज़रूरत नहीं थी, बस इसे वापस अपने खाते में भेज दिया, क्योंकि कहीं न कहीं _mysql खाते ने इसे ले लिया था।
सैमी लर्बी

90

रिबूट करने के बाद मेरे पास यही मुद्दा था। यहाँ है कि मैंने इसे कैसे तय किया:

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

बहुत बहुत धन्यवाद - बैकअप सामान को मत भूलना, हालांकि, अगर आप w / अनुमतियों को गड़बड़ कर रहे हैं
m02ph3u5

धन्यवाद। मैं Ubuntu में Lampp के साथ एक मुद्दा रहा था। मैंने एक नए सर्वर से संपूर्ण लैम्प फ़ोल्डर को कॉपी / ऑप्ट किया। जब मैंने mysql शुरू करने की कोशिश की तो मुझे एक संदेश मिला: सर्वर ने PID फ़ाइल को अपडेट किए बिना छोड़ दिया। Lampp / var / पर जाएं और chown करें -R mysql mysql / कि मेरे लिए काम किया!
डेव

6
धन्यवाद, आप मेरे हीरो हैं;)
फरीद अलमृती

बहुत बहुत धन्यवाद दोस्त! दिन बचा लिया!
मासियार

8
एल कैपिटन पर यह काम किया:sudo chown -R _mysql /usr/local/mysql/data
जस्टिन

33

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

चल रहे सभी MySQL प्रक्रियाओं की जाँच करें:

$ ps aux | grep mysql

USER     PID    %CPU  %MEM 
_mysql   5970   0.0   0.4 ...

फिर उपरोक्त कमांड से सूचीबद्ध सभी प्रक्रियाओं को निम्नलिखित का उपयोग करके मारें:

$ sudo kill -9 [PID]

[PID]ऊपर दी गई सूची से अलग-अलग पीआईडी ​​के साथ बदलें , जैसे 5970

उन सभी लाइनों के लिए करें जिन्हें आप पहली कमांड के साथ देखते हैं।

फिर आप अपने MySQL सर्वर को फिर से स्टार्टअप कर सकते हैं:

mysql.server start

या pkill mysql"mysql" से मेल खाने वाली सभी प्रक्रियाओं को मारने के लिए उपयोग करें ( -9ज्यादातर मामलों में अनावश्यक है)।
बफोंटेन

विशिष्ट आईडी के साथ प्रक्रिया को फिर से शुरू करने और इसे फिर से शुरू करने के लिए
अनुपम मौर्य

26

अनुचित रूप से बंद करने के बाद msql को प्रारंभ करने का प्रयास करते समय यह त्रुटि हो सकती है।

  1. Mysql त्रुटि लॉग फ़ाइल पर एक नज़र डालें। यदि यह कुछ ऐसा उल्लेख करता है जैसे "जांचें कि आपके पास पहले से ही डेटा या लॉग फ़ाइलों का उपयोग करके एक और mysqld प्रक्रिया नहीं है।" , तो आपको उस प्रक्रिया को ठीक से बंद करने की आवश्यकता है।

  2. देखें कि mysql किस प्रक्रिया पर चल रहा है, इस कमांड का उपयोग करें: lsof -i:3306

आपका आउटपुट इस तरह दिखना चाहिए:

COMMAND  PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
mysqld  4249 username   17u  IPv4 0x7843d9d130469c0b      0t0  TCP localhost:mysql (LISTEN)
  1. Mysql चलाने की प्रक्रिया समाप्त करें: kill -15 4249

किल -15 किसी भी संसाधनों को मुक्त करने के लिए प्रक्रिया को एक सिगनल भेजता है जिसे वह लॉक कर रहा है और प्रक्रिया को समाप्त कर देता है।

  1. अब mysql को बिना किसी समस्या के स्टार्टअप करना चाहिए: mysql.server start

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

24

मेरी त्रुटि फ़ाइल ने मुझे यह भी बताया कि पोर्ट का उपयोग किसी अन्य प्रक्रिया द्वारा किया जा सकता है, लेकिन बस sudo mysql.server startमेरे लिए समस्या को निर्धारित किया जा रहा है।


हाँ ... यह मेरे लिए भी काम किया ... और ऊपर कुछ भी काम नहीं किया
प्रशांत

मैं निर्देशों का पालन कर रहा था, मैंने कहीं पर MySQL शुरू करने के तरीके को पढ़ा होगा 'sudo /usr/local/mysql/support-files/mysql.server start'। "पीआईडी ​​फ़ाइल को अपडेट किए बिना सर्वर छोड़ दिया" त्रुटि उत्पन्न हुई, और यही मुझे इस पृष्ठ पर मिला। कई उत्तरों की कोशिश करने के बाद, मुझे 'sudo mysql.server start' मिला, और इसने काम किया। धन्यवाद।
rodmclaughlin

19

फ़ाइलों को हटाने ib_logfile0और ib_logfile1फिर से mysql चलाने का प्रयास करें

rm /usr/local/var/mysql/ib_logfile0
rm /usr/local/var/mysql/ib_logfile1

इससे मेरा काम बनता है।


1
मैंने .errउसी निर्देशिका में फ़ाइल को भी हटा दिया , जिसने मेरे लिए काम किया।
एंथनी

कुंआ। यह मृत सरल है और वास्तव में मेरे लिए काम करता है। लेकिन, मेरे मामले में, मैं केवल इसका नाम बदल रहा हूंib_log*.bak
मोचादि

18

अगर किसी एक जवाब ने आपकी मदद नहीं की, तो बस फ़ोल्डर हटा दें /usr/local/var/mysqlऔर फिर mysql को फिर से इंस्टॉल करें brew reinstall mysql


9
चेतावनी का मतलब है कि सभी डेटाबेस मिटा दें।
theredled

मैं mysql5.7 स्थापित करने से पहले एक उच्च संस्करण mysql स्थापित करता हूं और यह समस्या होती है। बस निकालें / usr / स्थानीय / var / mysql और brew reinstall mysql@.57इसे हल करें।
पेगासस

पहले किसी अन्य फ़ोल्डर में dbs को / usr / स्थानीय / var / mysql के नीचे ले जाएं। स्थापना और mysql सेवा को सफलतापूर्वक शुरू करने के बाद, आवश्यक db वापस ले जाने का प्रयास करें।
civic.LiLister 19

15

मैं हाल ही में इस मुद्दे पर आया था, हालांकि यह पहले काम कर रहा था, फिर बंद हो गया।

ऐसा इसलिए था क्योंकि मैंने शुरू mysql.serverमें जड़ के रूप में शुरुआत की थी में खुद के बजाय की थी।

फ़िक्स्ड लॉग फ़ाइल को हटाना था (जिसके स्वामित्व में था _mysql)। इसे फिर से शुरू करके इसे पास कर दिया गया।


धन्यवाद! मेरे पास एक घंटे के लिए खोज करने के लिए एक ही मुद्दा था फिर आपके उत्तर में आया।
फ्लाय

11

मेरे लिए मुझे mysql को फिर से स्थापित करना पड़ा

brew reinstall mysql

और फिर नीचे लॉन्च करने के लिए mysql शुरू करें और लॉगिन पर पुनः आरंभ करें:

brew services start mysql

10

मेरे लिए काम करने वाला समाधान यहाँ था: /server/334284/cant-create-pid-file-on-mysql-server-permission-denied

मेरी कुछ अनुमतियों को बदलने से लगता है कि यह ट्रिक है। मैं OS X 10.8.2 के साथ मिड-2012 मैकबुक एयर चला रहा हूं और होमस्कूल के साथ mysql स्थापित किया गया था।

chmod 0755 /var
chown root:wheel /var/tmp
sudo chmod 0771 /usr/local/var/mysql/*

10

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

top

दिखाया कि mysqld पहले से ही चल रहा था

sudo killall mysqld 

फिर प्रक्रिया को शुरू करने की अनुमति दी


8

MacOS X 10.7.5 पर अपग्रेड करने की कोशिश करते समय मुझे यह समस्या थी।

दुर्भाग्य से mysql को भी 5.5.14 से 5.6.10 में अपग्रेड किया गया था। नई कोशिश की, काम नहीं किया।

मैंने अपने पुराने सेटअप पर वापस जाने का फैसला किया और ए

brew switch mysql 5.5.14

इससे समस्या का समाधान नहीं हुआ। अन्यत्र मैंने पढ़ा और यह किया, वॉयला! सब वापस आ गया था :)

cd /usr/local/var/mysql
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak

पहले उपयोग के बाद मेरे लिए यह काम किया brew upgrade mysqlऔर फिर brew switch mysql 5.7.17मेरा पिछला संस्करण था। अजीब!
जॉर्ज ऑरपिनल

7

मैं उपयोग कर रहा हूँ,

मैंने होमब्रेव का उपयोग करके MySQL स्थापित किया ('ब्रुअ इंस्टॉल मायस्कल')। इसने कुछ निर्भरताएँ स्थापित कीं और फिर mysql।

जब मैंने इसे शुरू करने की कोशिश की,

west$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/west.local.pid).

मैंने यह कमांड चलाई,

west$ /usr/local/Cellar/mysql/5.5.25/scripts/mysql_install_db 

और MySQL काम करता है।

कृपया ध्यान दें कि आपको mysql निर्देशिका के शीर्ष स्तर (IE, usr / स्थानीय / तहखाने / mysql / 5.5.25) के साथ mysql_install_db चलाने की आवश्यकता है। इसे सीधे / स्क्रिप्ट निर्देशिका के भीतर चलाने से इसे चलाने के लिए पर्याप्त संदर्भ नहीं मिलता है।


मेरे लिए 5.5.28 के साथ काम किया और OSX 10.7.5 पर काढ़ा
ch3rryc0ke

7

मेरे लिए इसका समाधान डेटा निर्देशिका को / etc / my / cnf में ओवरराइड / सही करना था।

मैंने रीडमी फ़ाइल में दिए गए निर्देशों के साथ स्रोत से MySQL 5.5.27 बनाया है:


# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> cmake .
shell> make
shell> make install
# End of source-build specific instructions

# Postinstallation setup
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data

# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &

# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

mysqld_safe ने खुद को बिना स्पष्टीकरण के समाप्त कर दिया। रनिंग /etc/init.d/mysql.server startमें त्रुटि हुई:

"पीआईडी ​​फ़ाइल को अपडेट किए बिना सर्वर छोड़ दिया"

मैंने हालांकि इंस्टॉलेशन निर्देशों में कुछ अजीब देखा। यह स्वामित्व "डेटा" के लिए mysql में बदल गया है, लेकिन "var" के लिए नहीं; यह असामान्य है क्योंकि वर्षों से मुझे यह सुनिश्चित करना पड़ा है कि var निर्देशिका mysql लेखन योग्य थी। इसलिए मैं मैन्युअल चलाchown -R mysql /usr/local/mysql/var और फिर इसे फिर से शुरू करने का प्रयास किया। फिर भी नसीब नहीं। लेकिन इससे भी बदतर, var dir में कोई .err फ़ाइल नहीं है - यह "डेटा" dir में थी! इसलिए स्क्रिप्ट / mysql_install_db / usr / स्थानीय / mysql / var में शिविर स्थापित करता है, लेकिन बाकी एप्लिकेशन / usr / स्थानीय / mysql / डेटा में अपना काम करना चाहते हैं!

इसलिए मैंने अभी /etc/my.cnf को संपादित किया और अनुभाग के तहत [mysqld] मैंने mysql के डेटा डायरेक्टरी को var को स्पष्ट रूप से इंगित करने के लिए एक निर्देश जोड़ा (जैसा कि मैं आमतौर पर यह किसी भी तरह से होने की उम्मीद करता हूं), और ऐसा करने के बाद, mysqld बस शुरू होता है ठीक। जोड़ने का निर्देश इस तरह दिखता है:

डेटादिर = / usr / स्थानीय / mysql / var

मेरे लिए काम किया। आशा है कि यह आपके लिए मदद करता है।


5

ऐसा लगता है कि MySQL प्रक्रिया चल रही है इसलिए आप पोर्ट का उपयोग करने में असमर्थ हैं। आप निम्न कमांड का उपयोग करके चल रहे MySQL प्रक्रिया की जांच कर सकते हैं:

ps auxf | grep mysql

यदि आपको कोई MySQL प्रक्रिया मिलती है तो किल -9 PID का उपयोग करके उस प्रक्रिया ID को मारें और फिर MySQL शुरू करने का प्रयास करें।


यह उत्तर मेरा तारणहार है।
सांग्बेमे हान २५'१

5

सुरक्षित मोड में शुरू करें

/usr/local/mysql/bin/mysqld_safe start

या

मैक पर अपने गतिविधि मॉनिटर आवेदन में किसी भी mysqlया mysqldकार्य (या अन्य) को समाप्त करें।

या आप के द्वारा त्रुटि की जाँच करें

tail -f /usr/local/mysql/data/XXXXX-XXXXX-Pro.local.err

4

त्रुटि लॉग क्या कहता है? मुझे यह त्रुटि मिली, और यह my.cnf में एक पुरानी अमान्य सेटिंग थी, जिसे mysql त्रुटि लॉग ने संकेत दिया। यदि एक खराब कॉन्फ़िगरेशन सेटिंग नहीं है, तो त्रुटि लॉग कम से कम आपको सही दिशा में इंगित करना चाहिए।

ठीक है, मुझे लगता है कि ओपी ने इसे इस बिंदु पर तय किया है ... लेकिन उम्मीद है कि यह इस त्रुटि को सही दिशा में देखकर दूसरों को इंगित करता है।


4

यहां पोस्ट किए गए कुछ उत्तरों की मदद से, मैं इस मुद्दे को खोजने में सक्षम था

पहले मैं दौड़ता हूं

sudo -i

इसलिए मैं रूट एक्सेस कर सकता था।

की तुलना में मैंने xxxx.err फ़ाइल को हटा दिया

rm -rf /usr/local/mysql/data/xxxx.err

जब मैंने MySQL को SafeMode में शुरू किया

/usr/local/mysql/bin/mysqld_safe start

यह शुरू करने की कोशिश करेगा और एक त्रुटि के कारण बाहर निकल जाएगा ... एक नई xxx.err फ़ाइल बनाई जाएगी और आपको त्रुटि का कारण देखने के लिए इसे पढ़ने की आवश्यकता है

tail -f /usr/local/mysql/data/mysqld.local.err

मेरे मामले में, किसी कारण से, यह फ़ोल्डर के अंदर कुछ फ़ोल्डर और फ़ाइल को याद कर /var/log/रहा था ... इसलिए मैंने दोनों को बनाया

cd /var/log

mkdir mysql

touch mysql-bin.index

नई फ़ाइल बनाने के बाद, आपको अनुमति बदलने की आवश्यकता होगी

chown -R _mysql /var/log/mysql

जब वे सभी कदम जहाँ उठाए गए, मेरे डेटाबेस ने तुरंत काम करना शुरू कर दिया ...

आशा है कि यह यहां दूसरों की मदद कर सकता है ... कुंजी त्रुटि को पढ़ना है और लॉग इन करें और पता लगाएं कि क्या गलत है ...


4

मेरे मामले में, त्रुटि लॉग फ़ाइल की पहुँच समस्या के कारण होती है।

निम्नलिखित दो आदेश समस्या को हल करने में मेरी मदद करते हैं।

sudo chown <user> /usr/local/var/mysql/<my-host-name>.err
sudo chmod 666 /usr/local/var/mysql/<my-host-name>.err

3

मुझे उम्मीद है कि यह काम आपके लिए होगा।

त्रुटि लॉग की जाँच करने के बाद, मैंने पाया:

120309 17:42:49 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
120309 17:42:50 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
120309 17:42:50 [Warning] You need to use --log-bin to make --binlog-format work.
120309 17:42:50 [Note] Plugin 'FEDERATED' is disabled.
120309 17:42:50 InnoDB: The InnoDB memory heap is disabled
120309 17:42:50 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120309 17:42:50 InnoDB: Compressed tables use zlib 1.2.3
120309 17:42:50 InnoDB: Initializing buffer pool, size = 16.0M
120309 17:42:50 InnoDB: Completed initialization of buffer pool
120309 17:42:50  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name /usr/local/mysql/data/ib_logfile0
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
120309 17:42:50 mysqld_safe mysqld from pid file /usr/local/mysql/data/lu1s.local.pid ended

और इसे हल करने के लिए, मैंने पूरे mysql फ़ोल्डर को स्वामित्व अधिकार दिया:

cd /usr/local
sudo chown mysql mysql
sudo chown mysql mysql-5.5.21-osx10.6-x86_64
sudo chown _mysql mysql
sudo chown _mysql mysql-5.5.21-osx10.6-x86_64

तब (आप इसे कमांड-लाइन भी कर सकते हैं), मैंने अनुमतियों को लागू किया (एक बार जब मैंने _mysql और mysql उपयोगकर्ताओं को यह स्वामित्व दिया था ) / usr / स्थानीय / mysql में फ़ोल्डर की "जानकारी प्राप्त करें" मेनू के भीतर से सभी संलग्न फ़ोल्डर में। -5.5.21-osx10.6-x86_64 । आपको यह उर्फ ​​करने की आवश्यकता नहीं है क्योंकि यह केवल एक उपनाम है।

फ़ोल्डर का नाम mysql के अधिष्ठापन संस्करण पर निर्भर करता है जो आपके पास है।


3

मुझे भी यही समस्या थी। मेरी /etc/my.cnf फ़ाइल को ले जाना मेरे लिए काम कर गया। मुझे यहां जानकारी मिली


3

एक ही मुद्दा था, मेरे लिए यह एक चल हटाने कर रहा था, जबकि mysqld की पिछली स्थापना चल रही थी। लगता है कि स्थापना रद्द करने से पहले काढ़ा पीना नहीं है।

.Err फ़ाइल की जाँच करने के बाद, मैंने पुरानी त्रुटि को समाप्त करने के बाद लॉग त्रुटि को देखा कि mysql की एक और प्रतिलिपि चल रही हो सकती है। मैं तब नए mysql इंस्टॉल को पुनरारंभ करने में सक्षम था।


हां, त्रुटि लॉग की जांच करें। मेरे मामले में, मैं ls -latr /usr/local/var/mysql/नवीनतम संशोधित फ़ाइल खोजने के लिए दौड़ा , जिसमें त्रुटि लॉग शामिल था, फिर tail -50 name.errत्रुटि देखने के लिए, जो कि कॉन्फ़िगरेशन में समस्या थी।
Mahemoff

धन्यवाद भगवान, आप सही थे। मैंने उपयोग किया ps aux | grep mysqldऔर फिर इस प्रक्रिया को समाप्त kill -9 [proccessid]कर दिया और सर्वर सफलतापूर्वक शुरू हो गया
6

3

सरल....

2002 MySQL सॉकेट त्रुटि को ठीक करें

2002 की सॉकेट त्रुटि को ठीक करें - जो लिंक कर रही है जहाँ MySQL सॉकेट रखता है और जहाँ OSX को लगता है कि यह होना चाहिए, MySQL इसे / tmp में डालता है और OSX इसके लिए / var / mysql में देखता है सॉकेट एक प्रकार की फ़ाइल है जो mysql क्लाइंट को अनुमति देती है / सर्वर संचार।

सुदो मक्दिर / वर / मस्कल

सुडो ln -s /tmp/mysql.sock /var/mysql/mysql.sock

बहुत बढ़िया : )

यह मुझे बहुत मदद! मैंने http://coolestguidesontheplanet.com/ पर लोगों से यह गाइड लिया


3

इसे इस्तेमाल करे..

  1. समस्या के मूल निर्देशिका पर नेविगेट करें cd YOURPATH/usr/local/mysql
  2. rm -rf *.local.err (फ़ाइल हटाता है)
  3. touch YOURUSERNAME.local.pid (नई * .local.pid त्रुटि के बारे में शिकायत की गई थी फ़ाइल उत्पन्न करता है)
  4. अपने प्रोजेक्ट में वापस जाएं और mysql का उपयोग करके पुनः आरंभ करें mysql.server start

1
इसने मेरे लिए काम किया। कारण होने के नाते, error.logफ़ाइल "_mysql" के स्वामित्व वाली थी जो लॉग में त्रुटियां थी। बस यह लॉग इन करना चाहता था कि किसी और को यह समस्या हो। 150818 19:32:06 mysqld_safe Logging to '/opt/boxen/log/mysql/error.log'. 150818 19:32:06 mysqld_safe Starting mysqld daemon with databases from /opt/boxen/data/mysql /opt/boxen/homebrew/bin/mysqld_safe: line 129: /opt/boxen/log/mysql/error.log: Permission denied
डोनोवन

यदि आपकी समस्या अनुमतियों से संबंधित है, तो यह काम नहीं करता है, वही mysql त्रुटि फेंकता है।
म्पलेटो

मेरे लिए भी काम किया। मुझे अपनी अपाचे को पुनः आरंभ करना पड़ा (उन लोगों के लिए भी जो एलएएमपी स्टैक का उपयोग करते हैं)।
टॉमीइक्सी

3

किसी तरह मैंने एल कैपिटान पर अपनी अनुमतियों को खराब कर दिया और MySQL को खरोंच से पुनर्स्थापित करने का निर्णय लिया।

मैं el capitan पर काढ़ा का उपयोग करें, और पुनः स्थापित करने का फैसला किया:

brew uninstall mysql
sudo rm -rf /usr/local/var/mysql
brew install mysql
mysql.server start # ... SUCCESS

_mysqlमेरे उपयोगकर्ता नाम को शामिल करने के लिए नए सिरे से फ़ाइल अनुमतियों को बदल दिया गया है

 ls -alh /usr/local/var/mysql
drwxr-xr-x   22 lfender  admin   748B Mar 22 09:58 .
# ... etc

2

जांचें कि आपके पास आपके ड्राइव में जगह बची है या नहीं। मुझे यह समस्या तब हुई जब मेरे ड्राइव में कोई जगह नहीं बची।


मैंने उस अंतरिक्ष समस्या के बारे में कभी नहीं सोचा होगा जिसका आपने उल्लेख नहीं किया था। तुम एक रक्षक हो!
क्षितिज बजराचार्य

2

समस्या एक अनुमतियों की है, यह शुरू नहीं हो सकती क्योंकि यह mac.err को नहीं लिख सकता क्योंकि इसका स्वामित्व किसी और के पास है।

सुनिश्चित करें कि / usr / स्थानीय / var / mysql फ़ोल्डर उपयोगकर्ता के पास है जो mysql शुरू करेगा। अगर मैं अपने सभी अच्छे जैक के रूप में mysql शुरू करूँ। हालाँकि, यदि आप इसे रूट के रूप में शुरू करते हैं, तो यह mac.err (रूट द्वारा स्वामित्व वाली) फ़ाइल बना देगा जिसे जैक लिख नहीं सकता है, इसलिए जब आप इसे जैक के रूप में पुनरारंभ करने का प्रयास करेंगे तो यह विफल हो जाएगा।

  1. सुनिश्चित करें कि फ़ोल्डर और फ़ाइलें mysql.server प्रारंभ करने वाले उपयोगकर्ता के स्वामित्व में हैं
  2. सुनिश्चित करें कि वहाँ पहले से ही एक mac.err या mac.pid नहीं है जो किसी और के स्वामित्व में है।
  3. प्रारंभ सही उपयोगकर्ता के रूप में है।

मैंने chown -R <user_name> / usr / local / var / mysql का उपयोग किया और इसने बहुत अच्छा काम किया। अच्छा समाधान है।
mbokil

2

मेरे मामले में, मुझे vps, cPanel पर यह मुद्दा मिला

मैं ऊपर दिए गए अधिकांश उत्तरों की कोशिश कर रहा था, लेकिन सफलता नहीं।

  1. जांचें कि आपकी त्रुटि कहां है। इसका उल्लेख त्रुटि पंक्ति के अंत में किया जाएगा।

त्रुटि! सर्वर PID फ़ाइल (/var/lib/mysql/111318.vps-11.com.pid) को अपडेट किए बिना छोड़ दिया।

  1. उस फ़ाइल को खोलें (/var/lib/mysql/111318.vps-11.com.err) और लेट्स लाइनों के लिए नीचे की ओर चबायें। मेरे मामले में, वहाँ है

[त्रुटि] घातक त्रुटि: विशेषाधिकार तालिकाओं को खोलना और बंद नहीं कर सकते: तालिका './mysql/db' को दुर्घटनाग्रस्त के रूप में चिह्नित किया गया है और इसकी मरम्मत की जानी चाहिए

  1. इसे कैसे हल करें: कमांड द्वारा टेबल इंडेक्स को पुनर्प्राप्त करना और ठीक करना:

[~] # myisamchk -r /var/lib/mysql/mysql/db.MYI

https://forums.cpanel.net/threads/mysql-is-not-running.407142/

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