Mysql शुरू नहीं कर सकते - mysql respawning बहुत तेज, बंद कर दिया


33

आज मैंने ubuntu 12.04 की एक नई स्थापना की और अपने स्थानीय विकास वातावरण की स्थापना के बारे में जाना। मैंने mysql स्थापित किया और /etc/mysql/my.cnfInnoDB को अनुकूलित करने के लिए संपादित किया, लेकिन जब मैं mysql को पुनः आरंभ करने का प्रयास करता हूं, तो यह एक त्रुटि के साथ विफल होता है:

[20:53][tom@Pochama:/var/www/website] (master) $ sudo service mysql restart
start: Job failed to start

Syslog से पता चलता है कि init स्क्रिप्ट में कोई समस्या है:

> tail -f /var/log/syslog

Apr 28 21:17:46 Pochama kernel: [11840.884524] type=1400 audit(1335644266.033:184): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=760 comm="apparmor_parser"
Apr 28 21:17:47 Pochama kernel: [11842.603773] init: mysql main process (764) terminated with status 7
Apr 28 21:17:47 Pochama kernel: [11842.603841] init: mysql main process ended, respawning
Apr 28 21:17:48 Pochama kernel: [11842.932462] init: mysql post-start process (765) terminated with status 1
Apr 28 21:17:48 Pochama kernel: [11842.950393] type=1400 audit(1335644268.101:185): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=811 comm="apparmor_parser"
Apr 28 21:17:49 Pochama kernel: [11844.656598] init: mysql main process (815) terminated with status 7
Apr 28 21:17:49 Pochama kernel: [11844.656665] init: mysql main process ended, respawning
Apr 28 21:17:50 Pochama kernel: [11845.004435] init: mysql post-start process (816) terminated with status 1
Apr 28 21:17:50 Pochama kernel: [11845.021777] type=1400 audit(1335644270.173:186): apparmor="STATUS" operation="profile_replace" name="/usr/sbin/mysqld" pid=865 comm="apparmor_parser"
Apr 28 21:17:51 Pochama kernel: [11846.721982] init: mysql main process (871) terminated with status 7
Apr 28 21:17:51 Pochama kernel: [11846.722001] init: mysql respawning too fast, stopped

कोई विचार?


चीजें जो मैंने पहले ही आजमाई थीं:

मैंने googled और apparmor ( https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/970366 ) के साथ एक उबंटू बग पाया , मैंने शिकायत मोड से लागू करने वाले मोड में एपर्मर को बदल दिया:

sudo apt-get install apparmor-utils
sudo aa-complain /usr/sbin/mysqld
sudo /etc/init.d/apparmor reload

लेकिन इससे कोई फायदा नहीं हुआ। मैं अभी भी mysql शुरू नहीं कर सकता।

मैंने यह भी सोचा कि यह मुद्दा हो सकता है क्योंकि इनसोबी लॉगफ़ाइल्स एक अलग आकार के थे, जैसे कि mysql उम्मीद कर रहा था। मैं का उपयोग कर पुनः आरंभ करने से पहले innodb लॉग फ़ाइलों को हटा दिया sudo mv /var/lib/mysql/ib_logfile* /tmp:। हालांकि कोई किस्मत नहीं।

समाधान: मैंने 12.04 को फिर से स्थापित किया, यह सुनिश्चित किया कि /etc/mysql/my.cnfकिसी भी तरह से स्पर्श न करें । माईसकल काम कर रहा है इसलिए मुझे जो करना है वह कर सकता हूं। लेकिन मुझे इसे किसी बिंदु पर संपादित करने की आवश्यकता होगी - उम्मीद है कि मैंने इसका हल खोज लिया होगा, या इस प्रश्न का उत्तर उस समय दिया जाएगा ...

जवाबों:


29

मैं अंत में इस मुद्दे का पता लगा लिया। मूल रूप से, कुछ मापदंडों की परिभाषा को mysql के पिछले संस्करण से हटा दिया गया है और इसे विभिन्न नामों से बदल दिया गया है। ठीक करने के लिए, /etc/mysql/my.cnf में बदलें:

# Tom Added to ensure the server character set is set to utf8
default-character-set = utf8
default-collation     = utf8_general_ci

साथ में:

# Tom Added to ensure the server character set is set to utf8
character_set_server  = utf8
collation_server      = utf8_general_ci

यह संबद्ध लॉन्चपैड बग रिपोर्ट है: https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/958120

या आसानी से चला सकते हैं:

# Miraz added dpkg-reconfigure
dpkg-reconfigure mysql-server-5.5

लेकिन सुनिश्चित करें कि कोई पुराना mysql संस्करण इंस्टॉलेशन स्थापित नहीं है, अगर वहाँ कृपया हटा दें:

# Miraz quick mysql package check
dpkg -l *mysql*

मुझे यह समस्या नहीं थी, लेकिन dpkg-reconfigure mysql-server-5.5मेरे कॉन्फ़िगरेशन में जो कुछ भी गलत था , वह निश्चित था।
डेविड पर्ड्यू

मेरे मामले में, समस्या /etc/mysql/my.cnf... इस ब्लॉग: dangtrinh.com/2014/05/… के अनुसार एक गलत संपत्ति का नाम निकला , mysqld -v चलाएं। मैंने सफलता के बिना, mysql से बाहर निकलने के कोड 7 को देखने की कोशिश की। मेरा अनुमान है कि एग्जिट कोड 7 में mysql कॉन्फ़िगरेशन फाइल को पार्स करने में विफलताओं के साथ क्या करना है।
MaasSql

मेरे पास यह एक ही मुद्दा था, लेकिन इसे ट्रेस करना मुश्किल पाया गया क्योंकि मेरा दोषपूर्ण कॉन्फ़िगरेशन /etc/mysql/conf.d/* के अंतर्गत था और इसलिए भी कि पुराने लॉग थे जिन्हें /var/log/mysql.* कहा जाता था जिसके कारण मुझे नोटिस नहीं करना पड़ा। सक्रिय लॉग / var / लॉग / mysql / *।
डेव बर्ट

1
साइड नोट: utf8_unicode_ciबेहतर है अब भीutf8mb4_unicode_ci
अक्षय

10

Innodb में एक डिफ़ॉल्ट सेटिंग (innodb_buffer_pool_size) है जो 128M पर सेट है - यह आपके सर्वर के लिए बहुत बड़ा हो सकता है (विशेषकर यदि आप एक छोटे से अमेज़ॅन EC2 AMI का उपयोग कर रहे हैं - जो मैं था) मेरे द्वारा तय किया गया फिक्स निम्नलिखित जोड़ने के लिए था के लिए लाइन /etc/mysql/my.cnf

innodb_buffer_pool_size = 16M

मैंने यहाँ पर इस फिक्स के बारे में लिखा था http://www.mlynn.org/2012/07/mysql-5-5-on-ubuntu-12-04-job-failed-to-start


मेरी वीएम याददाश्त से बाहर चल रही थी। innodb_buffer_pool_sizeनिचला सेट करना समाधान का एक हिस्सा था, लेकिन खबरदार आप स्मृति से बाहर हो सकते हैं।
thaddeusmt

10

मुझे भी ऐसी ही समस्या का समाधान करना पड़ा था। यह निराशाजनक था क्योंकि मुझे कोई त्रुटि लॉग दिखाई नहीं दे रहा था जो यह बताता है कि समस्या क्या थी।

मेरे मामले में, मैंने innodb_buffer_pool_size के लिए जो मान निर्धारित किया था, वह सर्वर की मेमोरी के लिए बहुत बड़ा था।

मुझे यह सीधे mysql उपयोगकर्ता के रूप में mysqld चलाकर पता चला।

# su mysql
# mysqld

इस तरह आप वास्तव में त्रुटि आउटपुट देखते हैं।


2
यह एक महान टिप है, मैं mysql से कुछ सार्थक डिबग जानकारी प्राप्त करने के लिए संघर्ष कर रहा हूं। धन्यवाद!
उत्साहपूर्ण

3

मुझे भी इसी तरह की समस्या थी। नीचे दिए गए आइटम कहते हैं कि उन्हें mysql सर्वर 5.5 से हटा दिया गया है।
यदि आप उन्हें अपने में रखते हैं my.cnf, तो यह शुरू नहीं होगा। उनके साथ टिप्पणी करें #
(जानकारी से प्राप्त: http://dev.mysql.com/doc/refman/5.5/en/replication-options-slave.html )

प्रभावित विकल्प इस सूची में दिखाए गए हैं:

 --master-host
 --master-user
 --master-password
 --master-port
 --master-connect-retry
 --master-ssl
 --master-ssl-ca
 --master-ssl-capath
 --master-ssl-cert
 --master-ssl-cipher
 --master-ssl-key

उत्तम! बिल्कुल क्या मुझे फेंक रहा था। धन्यवाद।
जिम डब्ल्यू।

3

यह MySQL कॉन्फ़िगरेशन में /etc/mysql/my.cnfऔर फ़ाइलों में स्थित त्रुटियों को उबालने लगता है /etc/mysql/conf.d/

मेरे मामले में यह एक गलत bind-addressमूल्य था, क्योंकि मेरी मशीन का आईपी पता बदल गया था और MySQL अब और बाँध नहीं सकता था। इस ब्लॉग पर इस पर और अधिक पढ़ने के लिए स्वतंत्र महसूस करें ।


2

पोस्ट-स्टार्ट प्रक्रिया में विफलताओं को डीबग करने का एक अच्छा तरीका है /etc/init/mysql.conf, अपस्टार्ट लॉग की जांच करना:

sudo tail -f /var/log/upstart/mysql.log 

इससे मुझे एक सॉकेट त्रुटि मिली:

त्रुटि: 'सॉकेट के माध्यम से स्थानीय MySQL सर्वर से कनेक्ट नहीं किया जा सकता है

मेरे मामले में यह समूह के userतहत एक लापता सेटिंग के कारण था[mysqld]my.cnf


1

जब 11.10 से 12.04 तक अपग्रेड करने के बाद मुझे इसी तरह की MySQL त्रुटि ("नौकरी शुरू करने में विफल"), https://bugs.launchpad.net/ubuntu/+source/mysql-dfsg-5.1//bug/ पर # 27 टिप्पणी करें। 573318? टिप्पणियाँ = सभी ने मेरे लिए पूरी तरह से काम किया। उद्धरण:

मेरे लिए समस्या यह थी कि फ़ाइल /etc/apparmor.d/local/usr.sbin.mysqld अपग्रेड के बाद मौजूद नहीं थी। मैंने मैन्युअल रूप से खाली लोगों में से एक की नकल की (यानी केवल हेडर टिप्पणी थी) और फिर सब कुछ जाने के लिए अच्छा था।


1

मेरे लिए लाइन हटाने का उपाय था ...

set-variable = max_connections=200

... जो MySQL 3.x सिंटैक्स है और इसे बदलने की आवश्यकता है

max_connections=200

1

मेरी भी यही समस्या थी। यह mysql my.cnf मास्टर दास प्रतिकृति के रूप में निकला। अपनी जाँच/var/log/mysql/error.log

मुझे उम्मीद है कि थोड़ी मदद मिलेगी। एपरमोर के साथ दो घंटे बर्बाद करने से पहले सबसे पहले mysql सेटिंग्स को चेक करें जो कि ठीक काम करता है।


1

मेरे पास एक ही मुद्दे थे, मेरे लिए bind-addressमेरी /etc/mysql/my.cnfफाइल में अनुचित तरीके से सेट किया गया था । इसलिए ऐसा लगता है कि my.cnf में कुछ भी सही नहीं है जो इस समस्या का कारण बन सकता है। मुझे लॉग में कुछ भी नहीं मिला है जो इस मुद्दे के रूप में इंगित करता है।


1

मेरी समस्या 0% खाली जगह थी! दोहरी जाँच :-)


1

/tmpअनुमतियों की जाँच करें । मुझे यह समस्या थी, बहुत समय बाद google करने और पुनः आरंभ करने के बाद, मुझे पता चला कि/tmp परमिशन 755 थी।

मैं इसे 777 में बदल देता हूं और mysqlअच्छी शुरुआत करता हूं ।


प्राचीन में इस बात लेकिन यह मेरी समस्या थी .... पता नहीं है कि यह कैसे बदल ...
TheHidden

कुछ मामलों में, फ़ाइल सिस्टम को बदलकर या /tmpनए विभाजन पर बढ़ते हुए ।
shgnInc

1

Mysqld-5.5.53 ubuntu 14.04.1 को स्वचालित अपडेट के बाद, mysql प्रारंभ नहीं होगा। इन पंक्तियों में दिखाया गया है:

Oct 27 06:05:51 hostname kernel: [  593.168925] init: mysql post-start process (4997) terminated with status 1
Oct 27 06:05:51 hostname kernel: [  593.178241] type=1400 audit(1477562751.231:31): apparmor="STATUS" operation="profile_replace" profile="unconfined" name
Oct 27 06:05:51 hostname kernel: [  593.204392] init: mysql main process (5032) terminated with status 1
Oct 27 06:05:51 hostname kernel: [  593.204404] init: mysql respawning too fast, stopped

इस निर्देशिका को बनाकर समस्या हल की गई:

sudo mkdir /var/lib/mysql-files
sudo chmod 700 /var/lib/mysql-files
sudo chown mysql:mysql /var/lib/mysql-files
sudo /etc/init.d/mysql start

0

अमेज़न पर इस समस्या को ठीक करने के लिए यहाँ पर सुझाए गए MySQL और AppArmor संस्करण को अपडेट किया गया है । मुझे अभी भी कुछ समय के लिए त्रुटि मिलती है लेकिन MySQL अपने आप ही पुनः आरंभ हो जाता है।


1
उबंटू पूछने के लिए आपका स्वागत है! जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
रिंगटोन

0

मेरे पास एक ही त्रुटि संदेश था, लेकिन कारण अलग था। मेरी InnoDB तालिकाएँ भ्रष्ट थीं, क्योंकि पूरी फ़ाइल प्रणाली केवल-पढ़ने के लिए मोड में चली गई थी। मैंने /etc/mysql/my.cf पर निम्न पंक्ति जोड़कर भ्रष्टाचार को ठीक किया

innodb_force_recovery = 1

मैंने MySQL शुरू किया:

sudo service mysql start

MySQL शुरू किया और मैंने सभी टेबलों को डंप / एक्सपोर्ट किया। मैंने innodb_force_recovery को 0 (= डिफ़ॉल्ट) में बदल दिया और MySQL पुनः आरंभ किया:

sudo service mysql restart

मैं MySQL 5.5 के साथ Ubuntu 12.04 का उपयोग कर रहा हूं। मुझे समस्या का पता चलने में काफी समय लगा और मुझे उम्मीद है कि मैं इस उत्तर के साथ किसी की मदद कर सकता हूं। Http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html भी देखें


0

मेरे मामले में समस्या /etc/mysql/my.cnfफ़ाइल अनुमति थी।

मैंने इसे cenvenience के लिए बदल दिया, लेकिन इसने इरोज़ जैसा बना दिया

kernel: [604528.290448] type=1400 audit(1424350956.727:193): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/mysqld" pid=15008 comm="apparmor_parser"

my.cnfअनुमति 766 था और मैं 744 के लिए इसे बदल दिया और तीन त्रुटियों के दो चला गया। अभी भी एक समान त्रुटि संदेश है लेकिन इसने mysql को शुरू होने से नहीं रोका।

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


0

मेरे मामले में, मैंने गलत bind-addressघोषणा की थी। मैं ifconfigEC2 के निजी आईपी पते की खोज करने के लिए दौड़ा और इसे /etc/mysql/my.cnfफ़ाइल में अपडेट किया ।


0

मेरे मामले में मुझे / tmp पर अनुमति की समस्या मिली। मैंने अभी 766 में tmp की निर्देशिका अनुमति को निपटाया और mysql सेवा को पुनः आरंभ किया। तय हो गया।

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