मरदब मरता क्यों है? मैं इसे कैसे रोरूं?


25

मैं Ubuntu 15.10 पर एक LAMP सर्वर के रूप में MariaDB 10.0.23-0 चला रहा हूं। चल रहे sudo /etc/init.d/mysql startपरिणाम:

Job for mariadb.service failed because a timeout was exceeded. See "systemctl status mariadb.service" and "journalctl -xe" for details.

का आउटपुट systemctl status mariadb.serviceहै:

● mariadb.service - मारियाडीबी डेटाबेस सर्वर
   भरी हुई: भरी हुई (/lib/systemd/system/mariadb.service; सक्षम; विक्रेता पूर्व निर्धारित:
  ड्रॉप-इन: /etc/systemd/system/mariadb.service.d
           └─migrated-से-my.cnf-settings.conf
   सक्रिय: विफल (परिणाम: समय समाप्त) शनि 2016-03-26 22:52:42 EDT के बाद से; 26 से पहले
  प्रक्रिया: 8707 ExecStart = / usr / sbin / mysqld $ MYSQLD_OPTS $ _WSREP_NEW_CLUSTER (कोड = बाहर, स्थिति = 0 / SUCCESS)
  प्रक्रिया: 8706 ExecStartPre = / usr / bin / install -m 755 -o mysql -g root -d / var / run / mysqld (कोड = बाहर, स्थिति = 0 / SUCCESS)
 मुख्य PID: 8707 (कोड = बाहर, स्थिति = 0 / SUCCESS)

Mar 26 22:52:39 boggan systemd [1]: mariadb.service: प्रारंभ ऑपरेशन समय समाप्त। समाप्त।
Mar 26 22:52:39 boggan mysqld [8707]: 2016-03-26 22:52:39 140105856617216 [नोट] / usr / sbin / mysqld: सामान्य बंद
Mar 26 22:52:39 boggan mysqld [8707]: 2016-03-26 22:52:39 140105856617216 [नोट] घटना समयबद्धक: कतार को शुद्ध करना। 0 घटनाएँ
Mar 26 22:52:39 boggan mysqld [8707]: 2016-03-26 22:52:39 140104920164096 [नोट] InnoDB: FTS धागा बाहर निकलने का अनुकूलन करता है।
Mar 26 22:52:39 boggan mysqld [8707]: 2016-03-26 22:52:39 140105856617216 [नोट] InnoDB: शटडाउन शुरू ...
Mar 26 22:52:42 boggan mysqld [8707]: 2016-03-26 22:52:42 140105856617216 [नोट] InnoDB: शटडाउन पूरा; लॉग क्रम संख्या 3336953
Mar 26 22:52:42 boggan mysqld [8707]: 2016-03-26 22:52:42 140105856617216 [नोट] / usr / sbin / mysqld: शटडाउन पूरा
मार्च 26 22:52:42 बोगन सिस्टमड [1]: मारियाडीबी डेटाबेस सर्वर शुरू करने में विफल।
Mar 26 22:52:42 बोगन सिस्टमड [1]: mariadb.service: यूनिट विफल स्थिति में प्रवेश किया।
Mar 26 22:52:42 बोगन सिस्टमड [1]: mariadb.service: परिणाम के साथ विफल 'टाइमआउट'

पहली systemdपंक्ति में "वेल डह" की तरह है। मुझे पता है कि यह समय समाप्त हो गया है। दूसरा systemd, के बाद mysqldलाइनें कुछ हैरानी है, क्योंकि यह है करता है तथ्य यह है शुरू में। एक एप्लिकेशन (ओनलीक्लाउड, विशेष रूप से) जो डेटाबेस पर निर्भर करता है, सामान्य रूप से काम करता है ... उस मिनट-और-परिवर्तन के लिए जो मारबीडीबी है।

एक अन्य प्रश्न का उपयोग करके time /etc/init.d/mysql startयह निर्धारित करने का सुझाव दिया गया कि यह कितना समय ले रहा है। मैंने समय की पुष्टि के लिए इसे बार-बार चलाया - यह हर बार 90 के दशक के दोनों ओर कुछ सेकंड है।

अन्य शोध मुझे फाइल अनुमति है, जो ठीक हैं जाँच करने के लिए ... इसके अलावा, यह नेतृत्व करता है शुरू, अस्थायी रूप से। मैंने अपने सबसे अच्छे तरीके से प्याऊ और प्याऊ लगाई है (जब यह लिनक्स में आता है तो सीमित रूप से सीमित है), और मैंने कोई हेडवे नहीं बनाया है।

तो, सवाल यह है कि ... मुझे रहने के लिए मारबीडीबी सेवा कैसे मिलेगी?

एक अतिरिक्त शिकन के रूप में, इस प्रश्न को लिखने के बाद, मैंने मशीन को छोड़ दिया और चल दिया। मैं एक हफ्ते बाद वापस आया (मैंने इसे बीच में नहीं छुआ)। ठीक उसी कमांड का उपयोग करना sudo /etc/init.d/mysql start, सफल रहा। मस्कल डेमन शुरू हुआ और भाग गया; यह एक [ ok ]रिपोर्ट के साथ वापस आया । मैंने प्रयोग के लिए रिबूट किया, और मैं वहीं हूं जहां मैंने शुरुआत की थी।

मामले में यह मायने रखता journalctl -xeहै:

अप्रैल 02 23:51:44 बोगन सिस्टमड [1]: स्टॉप अग्रिम में आवश्यक फाइलें पढ़ें।
- विषय: यूनिट ureadahead.service बंद करना समाप्त कर दिया है
- परिभाषित-द्वारा: systemd
- समर्थन: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- 
- यूनिट ureadahead.service ने शट डाउन करना समाप्त कर दिया है।
अप्रैल ०२ २३:५१: ५५ बोगन मायस्कल्ड [२६४५]: २०१६-०४-२३ २३:५५ १४०३00६१६१६] ]०० [नोट] इनोवा: ऑनलाइन डीडीएल: प्रारंभ
अप्रैल ०२ २३:५१: ५५ बोगन मायस्कल्ड [२६४५]: २०१६-०४-२३ २३:५५ १४०३00६१६१६] Inn०० [नोट] InnoDB: ऑनलाइन डीडीएल: तालिका का क्लस्टर इंडेक्स पढ़ना शुरू करें और अस्थायी फाइलें बनाएं
अप्रैल 02 23:51:55 बोगन mysqld [2645]: 2016-04-02 23:51:55 140386161068800 [नोट] InnoDB: ऑनलाइन डीडीएल: तालिका के संकुल सूचकांक को पढ़ने का अंत और अस्थायी फ़ाइलें बनाएँ
अप्रैल ०२ २३:५१: ५५ बोगन मायस्कल्ड [२६४५]: २०१६-०४-२३ २३:५० १४०३00६१६१६] ९ Inn०० [नोट] इनोबडी: ऑनलाइन डीडीएल: पूर्ण
अप्रैल ०२ २३:५१: ५५ बोगन मायस्कल्ड [२६४५]: २०१६-०४-२३ २३:५० १४०३00६१६१६] ९ Inn०० [नोट] इनोबडी: ऑनलाइन डीडीएल: पूर्ण
अप्रैल ०२ २३:५२:२० बोगन डबस [:१३]: [प्रणाली] सेवा को सक्रिय करने में विफल। Org.bluez ’: समय समाप्त
अप्रैल 02 23:52:37 बोगन सिस्टमड [1]: mariadb.service: ऑपरेशन शुरू समय समाप्त हो गया। समाप्त।
अप्रैल ०२ २३:५२:३gan बोगन मायस्कल्ड [२६४५]: २०१६-०४-२३:२३:३ 140 १४०३5६० ९ Note४००५9६ [नोट] / usr / sbin / mysqld: सामान्य बंद
अप्रैल 02 23:52:37 बोगन कर्नेल: ऑडिट: टाइप = 1400 ऑडिट (1459655557.935: 31): एपर्मोर = "DENIED" ऑपरेशन = "सेंडम्सग" प्रोफाइल = "/ usr / sbin / mysqld" name = "/ run / systemd / सूचित करें "pid = 2645 comm =" mysqld "request_mask =" w "den_mask =" w "fsuid = 122 ouid = 0
अप्रैल 02 23:52:37 बोगन ऑडिट [2645]: AVC apparmor = "DENIED" ऑपरेशन = "sendmsg" प्रोफाइल = "/ usr / sbin / mysqld" नाम = "/ run / systemd / सूचना" pid = 2645 comm = " mysqld "request_mask =" w "den_mask =" w "fsuid = 122 ouid = 0
अप्रैल ०२ २३:५२:३gan बोगन मायस्कल्ड [२६४५]: २०१६-०४-०२ २३:५२:३38 १३०३5६० ९ Note४००५9६ [नोट] इवेंट शेड्यूलर: कतार को शुद्ध करना। 0 घटनाएँ
अप्रैल 02 23:52:37 बोगन मायस्कल्ड [2645]: 2016-04-02 23:52:37 140385225500416 [नोट] InnoDB: एफटीएस धागा बाहर निकलने का अनुकूलन करता है।
अप्रैल ०२ २३:५२:३gan बोगन मायस्कल्ड [२६४५]: २०१६-०४-०२ २३:५२:३38 १४०३5६० ९ Note४००५9६ [नोट] InnoDB: शटडाउन शुरू ...
अप्रैल ०२ २३:५२:३ ९ बोगन मायस्कल्ड [२६४५]: २०१६-०४-२३ २३:५२: ३३०३5६० ९ Note४००५9६ [नोट] इनोबीडी: शटडाउन पूरा; लॉग क्रम संख्या 3360838
अप्रैल ०२ २३:५२:३ ९ बोगन मायस्कल्ड [२६४५]: २०१६-०४-२३ २३:५२: १३०३60६० ९ Note४००५9६ [नोट] / usr / sbin / mysqld: शटडाउन पूरा
अप्रैल 02 23:52:39 बोगन कर्नेल: ऑडिट: टाइप = 1400 ऑडिट (1459655559.419: 32): एपरम = "DENIED" ऑपरेशन = "सेंडम्सग" प्रोफाइल = "/ usr / sbin / mysqld" नाम = "/ run / systemd / सूचित करें "pid = 2877 comm =" mysqld "request_mask =" w "den_mask =" w "fsuid = 122 ouid = 0
अप्रैल 02 23:52:39 बोगन ऑडिट [2877]: AVC apparmor = "DENIED" ऑपरेशन = "sendmsg" प्रोफाइल = "/ usr / sbin / mysqld" नाम = "/ run / systemd / सूचना" pid = 2877 comm = " mysqld "request_mask =" w "den_mask =" w "fsuid = 122 ouid = 0
अप्रैल 02 23:52:39 बोगन ऑडिट [2645]: AVC apparmor = "DENIED" ऑपरेशन = "sendmsg" प्रोफाइल = "/ usr / sbin / mysqld" नाम = "/ run / systemd / सूचना" pid = 2645 comm = " mysqld "request_mask =" w "den_mask =" w "fsuid = 122 ouid = 0
अप्रैल 02 23:52:39 बोगन कर्नेल: ऑडिट: टाइप = 1400 ऑडिट (1459655559.419: 33): एपर्मोर = "DENIED" ऑपरेशन = "सेंडम्सग" प्रोफाइल = "/ usr / sbin / mysqld" नाम = "/ run / systemd / सूचित करें "pid = 2645 comm =" mysqld "request_mask =" w "den_mask =" w "fsuid = 122 ouid = 0
अप्रैल 02 23:52:39 बोगन सिस्टमड [1]: मारियाडीबी डेटाबेस सर्वर शुरू करने में विफल।
- विषय: यूनिट mariadb.service विफल हो गया है
- परिभाषित-द्वारा: systemd
- समर्थन: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- 
- यूनिट mariadb.service विफल रही है।
- 
- परिणाम विफल है।
अप्रैल 02 23:52:39 boggan systemd [1]: mariadb.service: यूनिट विफल स्थिति में प्रवेश किया।
अप्रैल 02 23:52:39 बोगन सिस्टमड [1]: mariadb.service: परिणाम 'टाइमआउट' के साथ विफल।

2
journalctl -xeउत्पादन काट दिया गया है, तो आप इस अद्यतन कर सकते हैं? apparmor="DENIED"संदेशों पर नज़दीकी नज़र रखें (यदि आपके OS पर अप्पर्मर सक्रिय है) तो यह madadb start के दौरान एक समस्या हो सकती है।
tlo

@ मैं करूँगा ... इसे बस आज शाम तक इंतजार करना होगा। जहां मैं हूं वहां से मशीन तक मेरी पहुंच नहीं है। आखिरकार, जब मैं इस पर बैठा था, तो मैं इसे काम नहीं कर सका, इसलिए इसे रिमोट एक्सेस के लिए सेट करने में परेशान क्यों हुआ। मैं निश्चित रूप से, में भी देखूंगा। यदि यह सक्रिय था, तो यह डिफ़ॉल्ट रूप से सक्रिय हो गया था। मैंने सिस्टम द्वारा स्थापित कुछ भी नहीं बदला है, बस LAMP सामान जोड़ा है।
TJL

@tlo अद्यतित आउटपुट, और वर्णन में एक शिकन का एक सा जोड़ा। इस पर धमाके करने के बजाय, मैं एक या दो घंटे के लिए टहलने जा रहा हूं, और देखिए कि क्या होता है ...
TJL

1
@tlo मदद के लिए धन्यवाद। apparmor अपराधी था।
TJL

जवाबों:


28

मेरे पास mysql से mariadb में अपग्रेड करने के बाद काफी समस्या थी। विचित्र बात यह थी कि सर्विस मारीडब टाइमटाइम (या तो सिस्टम बूट या मैनुअल पर) में फेल हो गया, जबकि सर्विस माइस्कल शुरू हो गई।

टीजेएल द्वारा दिया गया स्पष्टीकरण सही है लेकिन सुधार मेरे लिए कारगर नहीं रहा।

$ sudo aa-complain /usr/sbin/mysqld
Setting /usr/sbin/mysqld to complain mode.

ERROR: /etc/apparmor.d/usr.sbin.mysqld contains no profile

इसलिए मैंने प्रोफ़ाइल को अक्षम कर दिया (आ-अक्षम के साथ जो प्लूटोक्रेट के समाधान के बराबर प्रतीत होता है )

$ sudo aa-disable /usr/sbin/mysqld
Disabling /usr/sbin/mysqld.

मैंने mysqld-akonadi और mysqld-digikam को भी अक्षम कर दिया।

एक प्रशिक्षु रीलोड पर्याप्त नहीं था, इसलिए मुझे रिबूट करना पड़ा और मारीदब ने पूरी तरह से अच्छी शुरुआत की।


यह पुष्टि करते हुए कि इसे बिना रीबूट किए काम करने का तरीका नहीं मिल सकता है।
मीटाइ.कॉम

इस उत्तर ने मेरे लिए कुबंटु 18.04.2 LTS पर काम किया। complainऔर ... apparmor reload( जवाब TJL ) वास्तव में पर्याप्त नहीं था।
मार्टन कोएटिएर

25

apparmor अपराधी था। /etc/apparmor.d/usr.sbin.mysqldकुछ भी नहीं होने के बावजूद टिप्पणियों और दावों का दावा है कि यह वहाँ था इसलिए कि ऐपमोरिया मारबीडीबी पर चोक नहीं करेंगे, यही वास्तव में हो रहा था।

Oracle ब्लॉग पर AppArmor और MySQL ने मुझे यह बताने की आवश्यकता दी कि मुझे क्या चाहिए।

sudo aa-statusआपको दिखाता है कि प्रशिक्षक क्या कर रहा है; वास्तव में क्या लागू नीति है, बनाम क्या सिर्फ शिकायत करने के लिए निर्धारित है।

sudo apt-get install apparmor-utils ऐसे कुछ कमांड जोड़ता है, जो अपीयर प्रोफाइल से निपटने में आसान बनाते हैं, जैसे कि ...

sudo aa-complain /usr/sbin/mysqldशिकायत करने के लिए "एनफोर्स" से प्रोफाइल को बदल देता है। ( aa-enforceइसे वापस चालू करता है।)

एक बार जब यह sudo service apparmor reloadहो जाता है, तो एपर्मोर, और वॉइला को फिर से शुरू कर देता है ... sudo /etc/init.d/mysql startकाम करता है, और सर्वर ऊपर रहता है।


1
पवित्र गंदगी दोस्त; यह वास्तव में काम किया। मुझे इससे थोड़ी घबराहट हुई क्योंकि इसने हमारे उत्पादन सर्वर को कुछ घंटों के लिए छोड़ दिया। मैं आपके जैसा कोई विशेषज्ञ नहीं हूं और मैंने /var/log/mysql/error.log फ़ाइल में विभिन्न त्रुटियों के लिए पूरे वेब पर खोज की है। इसके लिए धन्यवाद!
मुकितो

1
मेरे लिए भी ऐसा। मैंने Ubuntu 14.04 से 16.04 तक अपग्रेड किया और MySQL चलाने की क्षमता खो दी। अब यह काम कर रहा है! इसे विस्तार देने के लिए बहुत बहुत धन्यवाद: डी। मैं हफ्तों से देख रहा हूँ!
सवाईटोयस

यह मेरे लिए काफी नहीं है, लेकिन साथ टिप के लिए धन्यवाद apparmor-utils। तीन साल बाद मुझे मिल रहा है ERROR: /etc/apparmor.d/usr.sbin.mysqld contains no profile
यतिसीजीएन

14

मुझे एपर्चर में mysql को पूरी तरह से अक्षम करना पड़ा। एक शिकायत मेरे लिए कुछ भी नहीं करेगा। इसलिए ...

ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/

फिर रिबूट करें


धन्यवाद! यह मेरी समस्या का एकमात्र समाधान था! मैंने mysql से mariadb
Thomas Gatt

यह मेरे लिए भी काम किया, बहुत बहुत धन्यवाद
एमन जूल

3

किसी भी अज्ञात AppArmor प्रोफाइल को हटाने के लिए एक सरल उपाय है:

aa-remove-unknown
Removing '/snap/core/6350/usr/lib/snapd/snap-confine'
Removing '/usr/sbin/mysqld'

यह काम करता हैं!


यह वास्तव में चीजें चलाने के लिए मुझे क्या करना चाहिए था, इसलिए धन्यवाद। ऊपर दिया गया स्वीकृत उत्तर मुझे देगा ERROR: /etc/apparmor.d/usr.sbin.mysqld contains no profileक्योंकि यह बिल्कुल सत्य है, केवल फ़ाइल में टिप्पणी नहीं है। शायद AppArmor के एक नए संस्करण में उन्होंने इसे उन फाइलों के साथ विफल करने के लिए सेट किया, जबकि 2016 में यह काम किया था।
यतिसीएनएन

यह सही उत्तर है (कम से कम 2019 में)। क्या होता है कि MySql की स्थापना के बाद, /usr/sbin/mysqldकर्नेल में अभी भी AppArmor प्रोफाइल लोड है। रनिंग aa-remove-unknown(या रिबूटिंग) इसे हल करता है।
zwets
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.