Nach Server-Crash Mariadb 10 tot - Ubuntu 18.04

TheFreeman

Benutzer
Beiträge
7
Hallo zusammen,

ich hoffe, Ihr könnt mir hier mit meinem Problem helfen, damit ich meine DB wieder ans Laufen bekomme.
Gestern war bei Strato die Node, auf dem unsere VM läuft gecrashed. Und jetzt läuft die DB nicht mehr. :-(
Der mysqld mag nicht starten:

1697885380019.png

Ein Journal-Auszug:
Code:
~ # systemctl status mariadb.service
● mariadb.service - MariaDB 10.1.48 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: activating (start-pre) since Sat 2023-10-21 12:35:11 CEST; 6s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 12214 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=killed, signal=ABRT)
  Process: 12124 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environmen
  Process: 12257 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 12214 (code=killed, signal=ABRT); Control PID: 12261 ((sh))
   CGroup: /system.slice/mariadb.service
           └─12261 (sh)

Okt 21 12:35:11 hxxxxxxx.stratoserver.net systemd[1]: Starting MariaDB 10.1.48 database server...

Hier noch ein Auszug aus dem /var/log/mysql/error.log
Code:
2023-10-21 12:54:47 139723691609216 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2023-10-21 12:54:47 139723691609216 [Note] InnoDB: The InnoDB memory heap is disabled
2023-10-21 12:54:47 139723691609216 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2023-10-21 12:54:47 139723691609216 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2023-10-21 12:54:47 139723691609216 [Note] InnoDB: Compressed tables use zlib 1.2.11
2023-10-21 12:54:47 139723691609216 [Note] InnoDB: Using Linux native AIO
2023-10-21 12:54:47 139723691609216 [Note] InnoDB: Using SSE crc32 instructions
2023-10-21 12:54:47 139723691609216 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2023-10-21 12:54:47 139723691609216 [Note] InnoDB: Completed initialization of buffer pool
2023-10-21 12:54:47 139723691609216 [Note] InnoDB: Highest supported file format is Barracuda.
2023-10-21 12:54:47 139723691609216 [Note] InnoDB: Starting crash recovery from checkpoint LSN=296051327038
2023-10-21 12:54:47 139723691609216 [Note] InnoDB: Restoring possible half-written data pages from the doublewrite buffer...
2023-10-21 12:54:47 139723691609216 [ERROR] InnoDB: Trying to access page number 1869767277 in space 0 space name ./ibdata1, which is outside the tablespace bounds. Byte offset 0, len 16384 i/o type 10.Please check that the configuration matches the InnoDB system tablespace location (ibdata files)
2023-10-21 12:54:47 7f13f5014c80  InnoDB: Assertion failure in thread 139723691609216 in file ha_innodb.cc line 21944
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to https://jira.mariadb.org/
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
231021 12:54:47 [ERROR] mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.

To report this bug, see https://mariadb.com/kb/en/reporting-bugs

We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

Server version: 10.1.48-MariaDB-0ubuntu0.18.04.1
key_buffer_size=33554432
read_buffer_size=131072
max_used_connections=0
max_threads=153
thread_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 368852 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0x0 thread_stack 0x30000
/usr/sbin/mysqld(my_print_stacktrace+0x2e)[0x5571fe9466ae]
/usr/sbin/mysqld(handle_fatal_signal+0x53b)[0x5571fe50ccfb]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12980)[0x7f13f3eef980]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f13f317fe87]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f13f31817f1]
/usr/sbin/mysqld(+0x7dc6ae)[0x5571fe7516ae]
/usr/sbin/mysqld(+0x95bd1b)[0x5571fe8d0d1b]
/usr/sbin/mysqld(+0x9218ea)[0x5571fe8968ea]
/usr/sbin/mysqld(+0x9229bb)[0x5571fe8979bb]
/usr/sbin/mysqld(+0x905d63)[0x5571fe87ad63]
/usr/sbin/mysqld(+0x8cc417)[0x5571fe841417]
/usr/sbin/mysqld(+0x8c0174)[0x5571fe835174]
/usr/sbin/mysqld(+0x8c09f5)[0x5571fe8359f5]
/usr/sbin/mysqld(+0x8c1e16)[0x5571fe836e16]
/usr/sbin/mysqld(+0x8ab196)[0x5571fe820196]
/usr/sbin/mysqld(+0x7e048e)[0x5571fe75548e]
/usr/sbin/mysqld(_Z24ha_initialize_handlertonP13st_plugin_int+0x62)[0x5571fe50f252]
/usr/sbin/mysqld(+0x42a792)[0x5571fe39f792]
/usr/sbin/mysqld(_Z11plugin_initPiPPci+0x78a)[0x5571fe3a06ba]
/usr/sbin/mysqld(+0x3827e7)[0x5571fe2f77e7]
/usr/sbin/mysqld(_Z11mysqld_mainiPPc+0x4aa)[0x5571fe2fcfda]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7f13f3162c87]
/usr/sbin/mysqld(_start+0x2a)[0x5571fe2f124a]
The manual page at https://mariadb.com/kb/en/how-to-produce-a-full-stack-trace-for-mysqld/ contains
information that should help you find out what is causing the crash.

Ich kann auf den mysql auch nicht zugreifen:
Code:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")
exit status 1
...weil der Deamon nicht starten will. :-(
Habt Ihr eine Idee, wie ich das wieder ans Laufen bekomme?
Was braucht ihr dazu noch für Infos?

Danke Euch schon Mal. :)
 
Werbung:
Geht leider nicht, da MySQL ansich ja ohne Funktion ist.
Ich habe mich entschlossen, ein VM-Backup von vor 10 Tagen einzuspielen. Danach versuche ich dann ein DB-Backup von vor 2 Tagen in die DB zu ziehen. Das sollte reichen.
 
Tja, du schreibst zwar nicht was du angestellt hast, aber es scheint einfach so zu sein das du während
einer Schreiboperation das System abgeschossen hast.
Und somit wird wohl die letzte Transaktion nicht fertig geworden zu sein.


Das Zauberwort heisst RECOVERY um die letzte Transaktion zu löschen und konsistente Daten
zu erhalten

Schau mal hier: force recovery

Gruß Bernd
 
Tja, du schreibst zwar nicht was du angestellt hast, aber es scheint einfach so zu sein das du während
einer Schreiboperation das System abgeschossen hast.
Und somit wird wohl die letzte Transaktion nicht fertig geworden zu sein.


Das Zauberwort heisst RECOVERY um die letzte Transaktion zu löschen und konsistente Daten
zu erhalten

Schau mal hier: force recovery

Gruß Bernd
Ich habe im ersten Satz sehr wohl geschrieben, was pssiert ist.
Wer lesen kann, ist klar im Vorteil. Das ist eine VM, die bei Strato gehostet ist.
Die Node ist gecrashed und damit auch meine DB. :-('
Bevor ich ein Backup der VM, das 10 Tage alt ist zurückspiele, wollte ich ggf. die DB wieder zum Laufen bringen mit den aktuellen Daten.
Daher habe ich um Hilfe gesucht.

Ein Recovery funktioniert nur, wenn der Server startet.
Das tut er aber nicht.
Warum?
 
Wer lesen kann, ist klar im Vorteil. (NODE)
Na dann, noch viel Spass beim schreiben.

Ein einzelner MariaDB Server, der nicht Teil eines Clusters ist, wird oft als "Standalone MariaDB Server" oder einfach als "MariaDB Server" bezeichnet. In einem solchen Szenario handelt es sich um eine einzelne Instanz der Datenbank, die für sich allein läuft und keine Daten mit anderen Servern repliziert.

Eine Instanz in einem Galera Cluster wird oft als "Node" oder "Cluster Node" bezeichnet. Jeder Node im Galera Cluster ist im Wesentlichen ein eigenständiger MariaDB Server, der jedoch mit anderen Nodes im Cluster interagiert, um eine synchronisierte und replizierte Datenbank bereitzustellen.

Zusammengefasst:

  • Standalone MariaDB Server: Einzelner MariaDB Server, der nicht Teil eines Clusters ist.
  • Galera Cluster Node: Ein MariaDB Server, der Teil eines Galera Clusters ist und mit anderen Nodes im Cluster synchronisiert und repliziert.
In einem Galera Cluster besteht der Begriff "Node" im Wesentlichen aus einer einzelnen MariaDB-Instanz innerhalb des Clusters.
 
Dann sollte man das hier schreiben, dass man weiter helfen kann, wenn es Änderungen in den Logs gibt, dies auch mitteilen und ggf. den Wert vorsichtig hochdrehen, bis es eine Änderung gibt.
 
Werbung:
Ja. Das war auch mein Ansinnen. Mehr als die logs senden und Fragen beantworten kann ich auch nicht machen. 🤣

Also aktuell ist der Server nicht erreichbar. Strato feiert mich gerade etwas an.
 
Zurück
Oben