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.
Beim Laufen systemctl status mysql.service
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'
Laufen journalctl -xe | tail -20
gibt mir das:
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)
Laufen 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
journalctl -xe | tail -50
an Ihre Frage anhängen ?-50
zu ändern-15
. Ich wollte nur sichergehen, dass die Zeile angegeben wird, in der das eigentliche Problem auftritt.journalctl -xe | tail -20
Ausgabe hinzugefügt .Antworten:
Fataler 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:
Ändern:
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
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 .
Entnommen aus:
/ubuntu//a/162230/29012
quelle
server-id = 1
vorher einzubauen, aber es hat nicht funktioniert.mysql
Konfiguration bearbeiten/etc/mysql/mysql.conf.d/mysqld.cnf
. Für das Systemopen files limit
sehen:/etc/security/limits.conf
. Ich werde meine Antwort etwas später mit diesen Informationen aktualisieren. Können Sie mir mitteilen, ob Ihr Problem behoben ist? Auf diese Weise kann ich andere relevante Informationen in die Antwort aufnehmen.Habe den gleichen Fehler bekommen, aber in meinem Fall war einfach die Festplatte voll. Stellen Sie auch sicher, dass Sie dies überprüfen.
quelle
Beheben Sie das Problem durch:
innodb_buffer_pool_size = 20M
zur Konfigurationsdatei,/etc/mysql/my.cnf
um sicherzustellen, dass sie sich in einer Gruppe befindetquelle
Mein Problem ist, dass die IP des Hosts geändert wird.
So bearbeiten Sie die
bind-address
in/etc/mysql/my.cnf
der richtigen.quelle