it-swarm.com.de

MySQL konnte unter Ubuntu 16.04 nicht neu gestartet werden

Ich versuche, MySQL nach dem Speichern eines Skripts neu zu starten. Der Fehler besagt

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

Wenn ich systemctl status mysql.service starte, bekomme ich Folgendes:

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

Ich bin mir nicht sicher, wo ich anfangen soll, das zu beheben.

Dies ist das Skript, das ich vor dem Neustart von mysql gespeichert habe:

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

Das Ausführen von journalctl -xe | tail -20 gibt mir Folgendes:

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)

Das Ausführen von ulimit && ulimit -Sa gibt mir:

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
12
Edd

Schwerwiegender Fehler:

MYQL kann nicht gestartet werden, da, wie in der Journalctl-Ausgabe angegeben, but you haven't provided the mandatory server-id. die obligatorische ID wie im folgenden Code angegeben hinzugefügt wird.

/etc/mysql/mysql.conf.d/mysqld.cnf
Wechsel von:

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

Ändern:

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

Dadurch wird Ihr Server in Betrieb genommen, während Sie die richtige Formatierung der gewünschten Protokollierung vornehmen.

nicht tödliche Warnungen:

Für das Limit für offene Dateien Ihres Fehlers müssen Sie entweder die Anforderung in der von Ihnen bearbeiteten Konfiguration verringern oder die Systemlimits erhöhen mit:

/etc/security/limits.conf

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

In der ersten Spalte wird beschrieben, für wen das Limit gelten soll. '' ist ein Platzhalter für alle Benutzer. Um die Grenzen für root zu erhöhen, müssen Sie explizit 'root' anstelle von '' eingeben.

Genommen von:
https://askubuntu.com/a/162230/29012

7
L. D. James

Habe den gleichen Fehler bekommen, aber in meinem Fall war einfach die Festplatte voll. Stellen Sie auch sicher, dass Sie dies überprüfen.

df -h --total
2
xinxin

Mein Problem ist, dass die IP des Hosts geändert wird.

Bearbeiten Sie also den bind-address in /etc/mysql/my.cnf auf den richtigen Wert.

0
yangsibai

Beheben Sie das Problem durch:

  1. Swapfile hinzufügen
  2. Hinzufügen von innodb_buffer_pool_size = 20M zur Konfigurationsdatei /etc/mysql/my.cnf, um sicherzustellen, dass es sich in einer Gruppe befindet
0
Emma