Brew के माध्यम से MySQL स्थापित होने के बाद, मुझे त्रुटि मिलती है - सर्वर ने PID फ़ाइल को अपडेट किए बिना छोड़ दिया


88

ठीक है, मैंने सभी को खोजा है और अपने समय की स्थापना, स्थापना रद्द करने, विभिन्न विकल्पों की कोशिश करते हुए, लेकिन सफलता के बिना काफी समय बिताया है।

मैं Mac OS X Lion (10.7.3) पर हूं और एक पायथन, MySQL सेटअप करने का प्रयास कर रहा हूं।

मैंने सफलतापूर्वक HomeBrew के माध्यम से पायथन और MySQL स्थापित किया। अजगर बहुत अच्छा काम करता है।

MySQL स्थापना के बाद, मैंने पहले 2 चरणों का पालन किया - परेशान और mysql_install_dbकमांड।

अब, जब मैं mysql "mysql.server start" शुरू करने का प्रयास करता हूं, तो मुझे निम्न त्रुटि मिलती है

ERROR! The server quit without updating PID file (/usr/local/var/mysql/Brajeshwar.local.pid).
  • Brajeshwar मेरी मशीन पर मेरा उपयोगकर्ता नाम है।

जवाबों:


80

EDIT 2012/09/18: जैसा कि केन ने बताया है , सुनिश्चित करें कि mysqlकुछ और करने से पहले डेटाबेस को ठीक से सेट किया गया है। देखें " mysql.server पर PID त्रुटि प्रारंभ? " अधिक जानकारी के लिए।

इतिहास के लिए मूल उत्तर रखा गया है: यह सबसे अधिक संभावना है कि एक अनुमति मुद्दा है। जाँच करें /usr/local/var/mysql/*.err। मेरा कहा:

120314 16:30:14  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 ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
120314 16:30:14 mysqld_safe mysqld from pid file /usr/local/var/mysql/janmoesen.local.pid ended

मुझे भी ऐसा करना पड़ा:

sudo chown _mysql /usr/local/var/mysql/*

65
मैंने चल रहे मुद्दे को हल किया:sudo chown -R _mysql:_mysql /usr/local/var/mysql
माटेयो अल्सेनी

1
मुझे एक ही त्रुटि मिलती है, लेकिन मेरे पास कोई / usr / स्थानीय / var / mysql फ़ोल्डर नहीं है :( मैं भी homebrew हूं।
नाथन बाशव

2
सही समाधान के लिए brew info mysqlया इस प्रश्न की टिप्पणियों को देखें
केन

4
सुडो चामड़ बदसूरत + w / tmp मेरा समाधान था।
बेन राहिकॉट

2
मेरा सुडो चाउ-आर {my_user_name} के साथ हल किया गया था: व्यवस्थापक / usr / स्थानीय / var / mysql55 /
पैकेट अनुरेखक

101

मैंने पाया कि यह mysqlफ़ोल्डर के साथ एक अनुमति समस्या थी ।

chmod -R 777 /usr/local/var/mysql/ 

मेरे लिए इसे हल किया।


18
यह 777 बनाने की कोई आवश्यकता नहीं है
जेम्सहल्सल

2
मैं भी लंबे समय से खोज कर रहा था और यही मेरे लिए तय है।
काट लिया

6
कृपया ध्यान दें कि मैं उत्पादन वातावरण में 777 पर कुछ भी सेट करने की अनुशंसा नहीं करता हूं। यह केवल स्थानीय इंस्टॉल पर होना चाहिए। मैं इसे न्यूनतम के रूप में 755 पर वापस स्विच करूंगा।
mikoop

1
यदि आपको mysql start पर त्रुटि दिखाई देती है चेतावनी: विश्व-लेखन योग्य विन्यास फ़ाइल '/var/lib/mysql/none-dev/my.cnf' को नजरअंदाज किया जाता है तो आप शायद chmod ow / var / lib / mysql / none- को देखना चाहते हैं dev / my.cnf
डेविड मान

1
मेरा सुडो चाउ-आर {my_user_name} के साथ हल किया गया था: व्यवस्थापक / usr / स्थानीय / var / mysql55 /
पैकेट अनुरेखक

65

मैं पूरी तरह से mysql को फिर से स्थापित करने के साथ समाप्त हो गया, और अंत में यह काम कर गया।

चेतावनी यह आपके सभी डेटाबेस को हटा देगा, इसलिए पहले डंप को बचाने के लिए सुनिश्चित करें।

brew remove mysql
brew cleanup
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /usr/local/var/mysql

brew install mysql
mysqld --initialize --explicit_defaults_for_timestamp
mysql.server start # no sudo!

3
मैंने सफलता के बिना हर संभव तरीके से अनुमतियां बदलने की कोशिश की। इन निर्देशों और ... सफलता के बाद समाप्त हुआ :)
kartsims

यह केवल मैंने पाया समाधान है। यह नंबर एक होना चाहिए
दान

धन्यवाद, यह केवल एक चीज है जिसने मेरे लिए काम किया। हालाँकि मुझे भागना नहीं थाmysqld --initialize --explicit_defaults_for_timestamp
दीप

1
MySQL शुरू ... त्रुटि! सर्वर PID फ़ाइल (<path> - - lightspeed.irvnca.sbcglobal.net.pid) को अपडेट किए बिना छोड़ दिया। यह त्रुटि हो रही है
उन्नीकृष्णन

1
जस्ट होमब्रेव इश्यू
मैकग्रेडी

31

मैं इस मुद्दे पर था MAC 10.10.5 Yosemite

मैंने इसे हल करने के लिए क्या किया

cd /usr/local/var/mysql
sudo rm *.err && sudo rm *.pid
sudo reboot
sudo mysql.server start


चीयर्स! यह तरीका सबसे सरल है और मेरा दिन बच गया है!
iplus26

परफेक्ट, आपने मेरा दिन बचाया;)
एमी स्टैट्स

आह। 2 घंटे के लिए इंटरनेट पर हर समाधान की कोशिश करने के बाद, आखिरकार यह तय हो गया है! एक अच्छा पुराना पुनरारंभ! :)
सेक्सीबीटी

18

नवंबर, 2014: यदि आपको Mac OS X Mavericks या Yosemite पर MySQL 5.6.x पर यह त्रुटि मिल रही है और स्थानीय रूप से PHP के साथ MySQL का उपयोग करना चाहते हैं (/tmp/mysql.sock वह जगह है जहाँ PHP PDO sock फ़ाइल खोजने की अपेक्षा करता है), यहाँ मेरे लिए यह तय है:

1) डिफॉल्ट होमब्रेव कॉन्फिगर फाइल लाइनों को अनलॉक करें और नीचे की तरह एडिट करें

$ sudo vi /usr/local/Cellar/mysql/5.6.21/my.cnf
...
basedir = /usr/local/Cellar/mysql/5.6.21
datadir = /usr/local/var/mysql
port = 3306
server_id = <UNIQUE_NUMBER_HERE_OR_LEAVE_COMMENTED_OUT>
socket = /tmp/mysql.sock
pid-file = /usr/local/var/mysql/[BOXNAME].local.pid
....

BOXNAME वह है जो आपके सिस्टम में है - नेटवर्क पर आपके कंप्यूटर के लिए अद्वितीय आईडी के रूप में नेटवर्क।

2) mysql डेटादिर में सभी फाइलों पर अनुमतियाँ सेट करें। ये सभी [my_username] के स्वामित्व में थे। MySQL इस बारे में बहुत picky है और जब तक यह (user _mysql) निर्देशिका का मालिक नहीं है, पीआईडी ​​फ़ाइल बनाने से इंकार करता है।

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

3) बैश हेल्पर / रैपर स्क्रिप्ट का उपयोग करके MySQL शुरू करें:

$ sudo mysql.server start
Starting MySQL
. SUCCESS! 

उम्मीद है की वो मदद करदे। यदि उपरोक्त आपके लिए काम नहीं करता है, तो सेलर / mysql / VERSION_ / bin / निर्देशिका में mysqld_safe बाइनरी को मैन्युअल रूप से चलाने का प्रयास करें और जांचें कि सेटिंग्स क्या हैं (यदि यह चलती है)

sudo /usr/local/Cellar/mysql/5.6.12/bin/mysqld_safe &

अगर वह चलता है, तो आप कर सकते हैं

ps aux | grep mysql 

और जैसे कुछ देखते हैं

[username]  6881   0.0  2.7  3081392 454836   ??  S     8:52AM   0:00.54 /usr/local/Cellar/mysql/5.6.21/bin/mysqld --basedir=/usr/local/Cellar/mysql/5.6.21 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql/5.6.21/lib/plugin --verbose --log-error=/usr/local/var/mysql/BOXNAME.local.err --pid-file=/usr/local/var/mysql/BOXNAME.local.pid

मुझे यकीन नहीं है कि मेरे लिए काम क्यों किया गया लेकिन यह आपको दिखाता है कि मुझे my.cnf config फाइल विकल्प कहां से मिला है। आप मैन्युअल रूप से mysqld शुरू करते समय समस्या निवारण का प्रयास करने के लिए कमांड लाइन विकल्पों का उपयोग कर सकते हैं।

यदि आप mysqld_safe का उपयोग करके MySQL सर्वर को चलाने के लिए प्रबंधन करते हैं, तो आपको mysql.server bash सहायक की कोशिश करने से पहले इसे बंद करने के लिए ऐसा करना पड़ सकता है। मारने का आग्रह का विरोध करें -9 [पीआईडी] क्योंकि आप अपने डेटा को दूषित कर सकते हैं।

mysqladmin -uroot shutdown

सौभाग्य!


धन्यवाद - मेरा sudo chown -R {my_user_name} के साथ हल किया गया था: व्यवस्थापक / usr / स्थानीय / var / mysql55 /
पैकेट अनुरेखक

18

OS X El Capitan पर मेरा वही मुद्दा था, यहाँ टर्मिनल कमांड अनुक्रम है जो इसे मेरे लिए तय करता है।

त्रुटि फ़ाइलें हटाएं (आपको अपने सेटअप के आधार पर पथ बदलना होगा)

sudo rm /usr/local/mysql/data/*.err

Mysql प्रक्रिया के लिए जानकारी प्राप्त करें जो अभी भी चल रही है और इसे मारें:

ps -A | grep -m1 mysql | awk '{print $1}' | sudo xargs kill -9

अब MySQL पुनः आरंभ करें:

/usr/local/mysql/support-files/mysql.server start

10

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

sudo chmod -R 777 /usr/local/var/mysql/
sudo /usr/local/mysql/support-files/mysql.server start

इसने MAC OS 10.11.3 (mysql dir के 777 में मोड बदलने के बाद) में मेरे मुद्दे को हल किया
रथ

इसका मतलब यह है कि उस फ़ोल्डर में सभी फ़ाइलों और फ़ोल्डरों को उस फ़ोल्डर (और -R) में सभी उपयोगकर्ताओं के लिए पढ़ें लिखें, या पूर्ण अधिकार लिखें। विस्तृत विवरण के लिए, कृपया निम्नलिखित लिंक पर एक नज़र डालें: linux.com/learn/understanding-linux-file-permissions
Kresimir Plese


3

अगर मुझे सही से याद है तो यह एक अनुमति मुद्दा है। पिड फ़ाइल या फ़ोल्डर को p टच ’और od चामोड’ करने का प्रयास करें।


नहीं। मैं भी 777 chmod की कोशिश की देखने के लिए कि समस्या हल करती है, लेकिन कुछ भी नहीं। वही एरोर।
ब्रजेश्वर

क्या आपने 777 mysql डायरेक्टरी को चोदने और pid फाइल को डिलीट करने और MySQL को रीस्टार्ट करने की कोशिश की?
लोनीलॉट

3

मेरा मुद्दा यह था कि मैंने एक बार sudo के रूप में सर्वर शुरू किया और फिर एक स्थानीय उपयोगकर्ता के रूप में पुनः आरंभ करने का प्रयास किया।

यहाँ mysql रूट के स्वामित्व वाली '.err' फ़ाइल को लिखने में सक्षम नहीं था। मुझे उस फ़ाइल को हटाना पड़ा और सर्वर को पुनः आरंभ करना पड़ा:

sudo rm /usr/local/var/mysql/*.err
mysql.server start

2

मैं एक मैक पर MySQL के साथ एक समान समस्या है (मैक ओएस एक्स MySQL सर्वर स्टार्टअप नहीं कर सकता। कारण: 255 और भी ERROR! सर्वर पीआईडी ​​फ़ाइल को अपडेट किए बिना छोड़ दिया ")। एक लंबे परीक्षण और त्रुटि प्रक्रिया के बाद, आखिरकार फ़ाइल अनुमतियों को पुनर्स्थापित करने के लिए, मैंने अभी किया है:

डिस्क यूटिलिटीज लॉन्च करें
। बाएं पैनल पर मेरी ड्राइव चुनें
"मरम्मत डिस्क अनुमतियाँ" बटन पर क्लिक करें

यह चाल चली मेरे लिए। इसकी उम्मीद करना किसी और की मदद कर सकता है।


1

मेरे लिए इसके साथ काम किया:

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

1

मेरे लिए क्या काम था:

  1. अपने mysql स्थापना निर्देशिका पर जाएं
  2. sudo chmod -R 777 data
  3. फिर एक निर्देशिका वापस जाओ
  4. cd support-files/
  5. sudo ./mysql.server start

इसके बाद सर्वर चलने लगा।

लेकिन इस पद्धति के साथ समस्या यह है कि मुझे हर बार यह दोहराना होगा कि मैं अब mysql शुरू करना चाहता हूं। पता नहीं क्यों यह अचानक ऐसा व्यवहार करने लगा।


1

Usr / स्थानीय / var / mysql / your_computer_name.local.err फ़ाइल ढूंढें और त्रुटि के बारे में अधिक जानकारी को समझें

स्थान: /usr/local/var/mysql/your_computer_name.local.err

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

  1. खोजें कि क्या mysql चल रहा है और इसे मार डालो

ps -ef | grep mysql

किल -9 पीआईडी

जहां पीआईडी ​​दूसरा कॉलम वैल्यू है 2. mysql के स्वामित्व की जांच करें

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

if it is owned by root, change it mysql or your user name

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


1

इसे आज़माएँ (OSX)

चरण 1: ps -aux | grep mysql

फिर 4 अंको वाले PID नंबर को मारें

चरण 2: kill 1965

चरण 3: mysql.server start

या उन PID नंबरों का पता लगाने के लिए कठिन समय रखते हुए, इसे नीचे आज़माएं

चरण 1 फिर से: ps -aux | grep mysql

चरण 2 फिर से: killall

चरण 3 फिर से: mysql.server start


1

कृपया लॉग की जांच करें, आपको अधिक विस्तृत जानकारी मिलेगी।

त्रुटि लॉग को पूंछने के लिए नीचे दिए गए कमांड का उपयोग करें

tail -100 /usr/local/var/mysql/<user_name>.local.err

मेरे लिए, निर्देशिका में से एक गायब है, एक बार सर्वर शुरू हो गया है।


1

मुख्य takeaway मैक OSX पर डिफ़ॉल्ट रूप से .err फ़ाइल की जाँच करने के लिए है /usr/local/var/mysql

दर्ज किए गए उस लॉग ने मुझे बताया कि मुझे निम्नलिखित फ़ाइलों को हटाना था:

ibdata1
ib_logfile0
ib_logfile1

mysql.startउसके बाद सफलतापूर्वक चलने के साथ MySQL चलाना । ध्यान दें कि उन फ़ाइलों को हटाने से डेटा हानि की संभावना होगी।



0

मेरी भी यही समस्या थी:

लेकिन स्थिति यह थी, हर बार जब मैं प्रवेश करने की कोशिश करता:

/usr/local/mysql/support-files/mysql.server start

नाम की एक फ़ाइल localhost.pidबनाई गई है iMax0.local.pidजिसके बजाय त्रुटि में कहा गया था:

ERROR! The server quit without updating PID file (/usr/local/mysql/data/iMax0.local.pid).

समाधान जो मेरे लिए काम करता है उसे कॉपी कर रहा था localhost.pidऔर उसका नाम बदल रहा था iMax0.local.pid


0

OSX El Capitan पर मेरा समाधान था:

sudo chmod ugo+w /tmp

यह अचानक टूट गया था।

त्रुटि थी:

ERROR! The server quit without updating PID file

और लॉग दिखाया:

Can't start server : Bind on unix socket: Permission denied

यह भी ध्यान रखना सहायक हो सकता है, कि OSX के तहत my.cnfडिफ़ॉल्ट रूप से कोई फ़ाइल नहीं है और डिफ़ॉल्ट रूप से आवश्यक नहीं है, जो मुझे नहीं पता था। सौभाग्य!



0

मेरा भी ऐसा ही मुद्दा था। लेकिन निम्नलिखित आदेशों ने मुझे बचा लिया।

cd /usr/local/Cellar
sudo chown _mysql mysql

0

यह फ़ाइल अनुमति समस्या है। डिस्क अनुमतियों और मरम्मत की जाँच करें।

Osx => Cmd + Space => डिस्क उपयोगिता => डिस्क अनुमतियाँ सत्यापित करें।

मरम्मत डिस्क अनुमतियों के बाद पूरा सत्यापित करें। mysql.server start कमांड succesfuly काम करती है।


इसने मेरे लिए काम किया। कृपया कुछ और करने से पहले यह कोशिश करें।
कमलेश

0

मेरे किसी भी जवाब ने काम नहीं किया। हालाँकि, मैंने बस कियाsudo mysql.server start और यह अच्छी तरह से काम किया।

इसके अलावा, मेरे लिए, यह * .err फ़ाइल में अनुमतियाँ समस्या नहीं दिखाता है।


0

मुझे लिनक्स पर यह समस्या थी, लेकिन इसका कारण किसी भी mysql स्थापना के लिए प्रासंगिक है। मेरे मामले में, स्टार्टअप पूरा होने से पहले सर्वर क्रैश हो रहा था और पीआईडी ​​फाइल अपडेट हो गई थी। त्रुटि संदेश तब देखा गया जब "सेवा mysql start" के बजाय सीधे mysqld शुरू किया।

मेरे मामले में, इसका कारण विभाजन था जहां लॉग फाइलें भरी हुई थीं। लॉग फ़ाइलों को हटाने से mysql को फिर से शुरू करने की अनुमति मिली। इस समस्या का परीक्षण करने के लिए, अपने mysql गतिविधि लॉग के स्थान पर जाएं, और करें df .


0

यदि आपने अपनी mysql स्थापना को 8.x में अपग्रेड किया है, तो जांचें कि क्या आपका पिछला संस्करण अपग्रेडेशन के लिए समर्थित है

यदि नहीं, तो mysql काम नहीं करेगा! /usr/local/var/mysql(सभी फ़ोल्डर को निकालें) में सभी कॉन्फ़िगरेशन फ़ाइलों के साथ अपने mysql की स्थापना रद्द करें । Mysql को पुनर्स्थापित करें।

नोट: पुन: स्थापित करने से डेटा की हानि हो सकती है।


0

उपरोक्त सभी समाधान मेरे लिए काम नहीं करते हैं। लेकिन उन्होंने मुझे इस त्रुटि को ठीक करने के लिए कुछ सुराग दिए।

mysql.server start ---- त्रुटि PID फ़ाइल को अद्यतन किए बिना सर्वर से बाहर निकलना

मैंने अपने macbook mojave पर mysql@5.7 को homebrew के साथ स्थापित किया

काढ़ा स्थापित करें mysql@5.7

mysql त्रुटि लॉग /usr/local/var/mysql/IU.lan.err,there में स्थित है, इसमें एक पंक्ति है: विशेषाधिकार तालिका को खोलना और बंद नहीं कर सकते: तालिका 'mysql.user' का अस्तित्व है

goole search engine में कई पोस्ट आज़माने के बाद, मैंने b नायडू https://blog.csdn.net/xhool/article/details/52398042 पर पोस्ट किया, जो इस पोस्ट से प्रेरित है, मुझे इसका हल मिला:

आरएम / यूएसआर / स्थानीय / var / mysql / *

mysqld - टीकाकरण

रूट यूजर के लिए रैंडम पासवर्ड बैश में दिखाया जाएगा। लेकिन कमांड mysql -uroot -p [theRandomPassword] खिचड़ी भाषा का काम करता है। इसलिए मुझे पासवर्ड रीसेट करना होगा। इस तरह की सामग्री के साथ एक init फ़ाइल बनाएँ

'रूट' @ 'लोकलहोस्ट' के लिए सेट पासवर्ड = पासवर्ड ('मायन्यूपास');

इसे किसी भी डायरेक्टरी में ढूंढना आसान है, जैसे कि डेस्कटॉप

mysqld --init-file = [YourInitFile] और

आपकी स्क्रीन पर कई लॉग छपे।

mysql -uroot -pMyNewPass

अपने उच्च संस्करण mysql का आनंद लें!


0

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

मुझे लगता है कि मौजूदा डेटाबेस संगत नहीं था।


यह भी मेरा मुद्दा था, मैं मारियाबीडी से माईएसक्यूएल पर स्विच कर रहा था। लेकिन MariaDB पर वापस जाना स्वीकार्य समाधान नहीं था। मैंने नए mysql brew uninstall mysql@8.0को हटा दिया फिर MariaDB द्वारा बनाए गए पुराने mysql फ़ोल्डर को हटा दिया sudo rm -rf /usr/local/var/mysql(यह आपके डेटाबेस को स्पष्ट रूप से हटा देगा)। तब brew install mysql@8.0और mysql.server startयह काम करता है।
18:00 पर एंट्रीवर

0

इसका sudo chown -R _mysql:_mysql /usr/local/var/mysql श्रेय माटेओ अलसेनी को धन्यवाद देते हुए दिया गया


0

यह त्रुटि वास्तव में दिखाई जा रही है क्योंकि mysql पहले से ही शुरू है। वर्तमान स्थिति को देखने का प्रयास करें:

mysql.server status

मैंने हमेशा लॉग फ़ाइलों को हटाने के लिए इसे हल psकिया है , लेकिन वास्तव में mysql प्रक्रियाओं को दिखाता है। मैंने सब कुछ फिर से चलाया mysql.server restartऔर यह काम किया!
ईएटी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.