Próbuję zrestartować MySQL po zapisaniu skryptu. Stan błędu
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
Podczas biegania systemctl status mysql.service
otrzymuję:
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
Nie jestem pewien, od czego zacząć to naprawiać.
Oto skrypt, który zapisałem przed ponownym uruchomieniem mysql:
[mysqld]
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'
Bieganie journalctl -xe | tail -20
daje mi to:
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)
Bieganie ulimit && ulimit -Sa
daje mi:
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
swojego pytania?-50
TO-15
. Chciałem tylko upewnić się, że dołączę wiersz, w którym rzeczywiście występuje problem.journalctl -xe | tail -20
wyjście.Odpowiedzi:
Błąd krytyczny:
Uruchomienie MYQL nie powiodło się, ponieważ jak wskazuje wynik Journalctl,
but you haven't provided the mandatory server-id.
dodaj obowiązkowy identyfikator, jak wskazano w poniższym kodzie./etc/mysql/mysql.conf.d/mysqld.cnf
Zmień z:
Zmień na:
Spowoduje to uruchomienie serwera podczas poprawiania formatowania żądanego logowania.
ostrzeżenia inne niż śmiertelne:
W przypadku limitu otwartych plików dla błędu musisz zmniejszyć zapotrzebowanie w edytowanej konfiguracji lub zwiększyć limity systemowe za pomocą:
/etc/security/limits.conf
Pierwsza kolumna opisuje, kogo dotyczy limit. „ ” to symbol wieloznaczny, co oznacza wszystkich użytkowników. Aby podnieść limity rootowania, musisz jawnie wpisać „root” zamiast „ ”.
Pobrano z:
/ubuntu//a/162230/29012
źródło
server-id = 1
to zrobić wcześniej, ale to nie działało.mysql
edycji konfiguracji/etc/mysql/mysql.conf.d/mysqld.cnf
. Dla systemuopen files limit
spojrzenie na:/etc/security/limits.conf
. Nieco później zaktualizuję swoją odpowiedź tymi informacjami. Czy możesz dać mi znać, jeśli Twój problem zostanie rozwiązany? W ten sposób mogę dołączyć do odpowiedzi wszelkie inne istotne informacje.Wystąpił ten sam błąd, ale w moim przypadku po prostu dysk był pełny. Upewnij się również, aby to sprawdzić.
źródło
Rozwiąż problem przez:
innodb_buffer_pool_size = 20M
do pliku konfiguracyjnego/etc/mysql/my.cnf
upewniając się, że jest w grupieźródło
Mój problem polega na tym, że adres IP hosta został zmieniony.
Więc edytuj
bind-address
w/etc/mysql/my.cnf
odpowiednim.źródło