MySQL उबंटू 16.04 पर पुनः आरंभ करने में विफल रहा


14

मैं स्क्रिप्ट को सहेजने के बाद MySQL को पुनः आरंभ करने की कोशिश कर रहा हूं। त्रुटि बताता है

Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.

जब systemctl status mysql.serviceमुझे यहाँ मिल रहा है तो चल रहा है:

Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: activating (start-post) (Result: exit-code) since Isn 2016-09-26 17:15:28 MYT; 17s ago
  Process: 17478 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
  Process: 17474 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 17478 (code=exited, status=1/FAILURE);         : 17479 (mysql-systemd-s)
   CGroup: /system.slice/mysql.service
           └─control
             ├─17479 /bin/bash /usr/share/mysql/mysql-systemd-start post
             └─17516 sleep 1

मुझे यकीन नहीं है कि यह कहां से शुरू करना है।

यह वह स्क्रिप्ट है जिसे मैंने mysql को पुनः आरंभ करने से पहले बचाया था:

[mysqld]
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'

रनिंग journalctl -xe | tail -20मुझे यह देता है:

Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.037709Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 5000)
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.037798Z 0 [Warning] Changed limits: max_connections: 214 (requested 350)
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.037809Z 0 [Warning] Changed limits: table_open_cache: 400 (requested 2000)
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.187886Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.189296Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.15-0ubuntu0.16.04.1-log) starting as process 21937 ...
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.191216Z 0 [ERROR] You have enabled the binary log, but you haven't provided the mandatory server-id. Please refer to the proper server start-up parameters documentation
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.191242Z 0 [ERROR] Aborting
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.191255Z 0 [Note] Binlog end
Sep 26 17:46:29 guest mysqld[21937]: 2016-09-26T09:46:29.191300Z 0 [Note] /usr/sbin/mysqld: Shutdown complete
Sep 26 17:46:29 guest systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
Sep 26 17:46:32 guest NetworkManager[878]: <info>  [1474883192.2910] device (eth0): Lowering IPv6 MTU (9000) to match device MTU (1500)

दौड़ना ulimit && ulimit -Saमुझे देता है:

unlimited
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 128071
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 128071
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

1
क्या आप journalctl -xe | tail -50अपने प्रश्न के आउटपुट को जोड़ सकते हैं ?
LD जेम्स

@LDJames पूरे आउटपुट? यह बहुत बड़ा है। या यह सिर्फ पिछले कुछ बिट्स है?
एड्ड

आउटपुट 50 लाइनों का होगा। वास्तव में 15 या 20 रेखाएं पर्याप्त होनी चाहिए। आप बदल सकते हैं -50करने के लिए -15। मैं सिर्फ उस लाइन को शामिल करना सुनिश्चित करना चाहता था जहां वास्तव में समस्या हो रही है।
LD जेम्स

@LDJames मैं देख रहा हूं, तो यही है कि टेल कमांड क्या है। मैंने एक journalctl -xe | tail -20आउटपुट जोड़ा है ।
एड्ड

2
"ERROR: आपने बाइनरी लॉग सक्षम किया है ..." संदेश के बारे में क्या? क्या आपने ऐसा करने का इरादा किया है? MySQL वहां एक सर्वर आईडी की उम्मीद करता है, जिसे मैं केवल मास्टर-स्लेव सेटअप से जानता हूं।
जोस

जवाबों:


8

घातक गलती:

MYQL शुरू करने में विफल हो रहा है क्योंकि जैसा कि जर्नलैक्ट आउटपुट इंगित करता है, but you haven't provided the mandatory server-id. अनिवार्य आईडी जोड़ें जैसा कि नीचे दिए गए कोड में दर्शाया गया है।

/etc/mysql/mysql.conf.d/mysqld.cnf
से बदलें:

log-bin=mysql-bin
binlog-format = 'ROW'

में बदलो:

server-id=master-01
log-bin=mysql-bin
binlog-format = 'ROW'

जब आप अपने इच्छित लॉगिंग के उचित स्वरूपण को संबोधित करते हैं तो यह आपके सर्वर को चालू कर देगा।

गैर-घातक चेतावनी:

अपनी त्रुटि की खुली फ़ाइलों की सीमा के लिए आपको या तो आपके द्वारा संपादित कॉन्फ़िगरेशन में मांग को कम करना होगा या सिस्टम की सीमाओं को बढ़ाना होगा:

/etc/security/limits.conf

* soft nofile [new number]
* hard nofile [new number]

पहला कॉलम बताता है कि डब्ल्यूएचओ को किसके लिए आवेदन करना है। ' ' एक वाइल्डकार्ड है, जिसका अर्थ है सभी उपयोगकर्ता। रूट की सीमाएं बढ़ाने के लिए, आपको स्पष्ट रूप से '' के बजाय 'रूट' दर्ज करना होगा

से लिया गया:
/ubuntu//a/162230/29012


काम किया! क्या यह स्पष्ट रूप से बताते हुए कि यह मास्टर डिवाइस है? मैं server-id = 1इस से पहले डालने की कोशिश की, लेकिन यह काम नहीं किया।
एडी

किस फाइल में ये चीजें बदलनी चाहिए?
विजय शर्मा

के लिए mysqlविन्यास संपादित करें /etc/mysql/mysql.conf.d/mysqld.cnf। सिस्टम की open files limitनज़र के लिए /etc/security/limits.conf :। मैं थोड़ी देर बाद इस जानकारी के साथ अपना जवाब अपडेट करूंगा। क्या आप मुझे बता सकते हैं कि क्या आपका मुद्दा हल हो गया है? इस तरह मैं उत्तर में किसी भी अन्य प्रासंगिक जानकारी को शामिल कर सकता हूं।
LD जेम्स

2

एक ही त्रुटि हुई, लेकिन मेरे मामले में बस डिस्क भरी हुई थी। इसे भी अवश्य देखें।

df -h --total

+1 यह मेरे लिए था। कुछ जगह खाली करें और सेवा शुरू करें।
सैफ

0

इस मुद्दे को हल करें:

  1. Swapfile जोड़ना
  2. innodb_buffer_pool_size = 20Mकॉन्फ़िगरेशन फ़ाइल को जोड़ना /etc/mysql/my.cnfयह सुनिश्चित करता है कि यह एक समूह में है

0

मेरी समस्या यह है कि मेजबान का आईपी बदल गया है।

इसलिए सही bind-addressमें संपादित करें /etc/mysql/my.cnf

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