NC28 "Internal Server Error" und mysql-Datenbank (mariadb) lässt sich nicht starten

Hallo.

Ich habe seit gestern früh das Problem, dass meine Nextcloud nicht mehr (richtig) funktioniert. (U.a. “Internal Server Error” bei Aufruf der Webseite)
Aufgesetzt habe ich sie im Januar oder Februar und seither lief sie stabil.
Geändert habe ich aktiv nichts. Kein Update und auch keine Anpassung im System gemacht.

Gemerkt habe ich das Problem, da mein Handy bei der Synchronisation meiner Termine (per DavX5) wiederholt Fehler gebracht hat.
Nach längerer Recherche und einigen (Reparatur-)Versuchen komme ich nun nicht mehr weiter und bräuchte etwas mehr Hilfe, als man per Google & Co findet.

Das von mir bisher eingegrenzte Problem liegt vermutlich in meiner MariaDB, da ich diese nicht (mehr) starten kann.
Hier bekomme ich ständig Fehlermeldungen.
Aber der Reihe nach:

Meine Systemkonfiguration (die ich in Zukunft noch anpasse, aber derzeit ist sie eben so):

Hardware:
QNAP TS-230 (1x8TB-Platte, 2GB RAM, 64-Bit ARM-Prozessor)

Software:

  • Docker-Container (Version: 23.08.1) (NAT-Netzwerk mit Portweiterleitung)

    • Nginx-Reverse-Proxy (2.10.4)
    • Let’s Encrypt Zertifikate
  • LXD-Container (Bridged-Netzwerk)

    • Ubuntu 22.04.4 LTS (Jammy)

    • RAM ca. 850MB belegt (1280MB maximal durch LXD-Container freigegeben)

    • NC-Version 28.0.5.1 (bisher zweimal problemlos upgegradet/upgedatet (NC27->NC28), lief bis gestern)

      • Verschiedene Apps und Erweiterungen installiert (ca. 10 in Nutzung)
      • Speicherort: /var/www/nextcloud
    • Webserver Apache2 (2.4.52)

      • phpinfo() wird problemlos geladen, wenn ich diese in /var/www/nextcloud/test.php aufrufe
    • PHP 8.1.2-1ubuntu2.18 (cli) (built: Jun 14 2024 15:52:55) (NTS)

    • MariaDB 10.6.18

      • HIER scheinen die Probleme zu liegen

Wenn ich die MariaDB manuell per PuTTY/Konsole mit systemctl restart mariadb, systemctl restart mariadb.service oder systemctl restart mysql starten möchte, bekomme ich folgende Fehlermeldung:
Job for mariadb.service failed because the control process exited with error code.
See “systemctl status mariadb.service” and “journalctl -xeu mariadb.service” for details.

Eingabe von systemctl status mariadb.service gibt folgendes aus:
× mariadb.service - MariaDB 10.6.18 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Drop-In: /run/systemd/system/service.d
└─zzz-lxc-service.conf
Active: failed (Result: exit-code) since Fri 2024-06-21 17:28:11 UTC; 8min ago
Docs: man:mariadbd(8)
systemd - MariaDB Knowledge Base
Process: 4876 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
Process: 4877 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Process: 4879 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=cd /usr/bin/..; /usr/bin/galera_recovery; [ $? -eq 0 ] && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
Process: 4911 ExecStart=/usr/sbin/mariadbd $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=218/CAPABILITIES)
Main PID: 4911 (code=exited, status=218/CAPABILITIES)

Jun 21 17:28:11 Nextcloud systemd[1]: Starting MariaDB 10.6.18 database server…
Jun 21 17:28:11 Nextcloud systemd[4911]: mariadb.service: Failed to apply ambient capabilities (before UID change): Operation not supported
Jun 21 17:28:11 Nextcloud systemd[4911]: mariadb.service: Failed at step CAPABILITIES spawning /usr/sbin/mariadbd: Operation not supported
Jun 21 17:28:11 Nextcloud systemd[1]: mariadb.service: Main process exited, code=exited, status=218/CAPABILITIES
Jun 21 17:28:11 Nextcloud systemd[1]: mariadb.service: Failed with result ‘exit-code’.
Jun 21 17:28:11 Nextcloud systemd[1]: Failed to start MariaDB 10.6.18 database server.

Eingabe von journalctl -xeu mariadb.service ergibt folgende Ausgabe:

░░ Defined-By: systemd
░░ Support: Enterprise open source support | Ubuntu
░░
░░ An ExecStart= process belonging to unit mariadb.service has exited.
░░
░░ The process’ exit code is ‘exited’ and its exit status is 218.
Jun 21 17:27:13 Nextcloud systemd[1]: mariadb.service: Failed with result ‘exit-code’.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: Enterprise open source support | Ubuntu
░░
░░ The unit mariadb.service has entered the ‘failed’ state with result ‘exit-code’.
Jun 21 17:27:13 Nextcloud systemd[1]: Failed to start MariaDB 10.6.18 database server.
░░ Subject: A start job for unit mariadb.service has failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ A start job for unit mariadb.service has finished with a failure.
░░
░░ The job identifier is 2834 and the job result is failed.
Jun 21 17:28:11 Nextcloud systemd[1]: Starting MariaDB 10.6.18 database server…
░░ Subject: A start job for unit mariadb.service has begun execution
░░ Defined-By: systemd
░░ Support: Enterprise open source support | Ubuntu
░░
░░ A start job for unit mariadb.service has begun execution.
░░
░░ The job identifier is 2881.
Jun 21 17:28:11 Nextcloud systemd[4911]: mariadb.service: Failed to apply ambient capabilities (before UID change): Operation not supported
Jun 21 17:28:11 Nextcloud systemd[4911]: mariadb.service: Failed at step CAPABILITIES spawning /usr/sbin/mariadbd: Operation not supported
░░ Subject: Process /usr/sbin/mariadbd could not be executed
░░ Defined-By: systemd
░░ Support: Enterprise open source support | Ubuntu
░░
░░ The process /usr/sbin/mariadbd could not be executed and failed.
░░
░░ The error number returned by this process is ERRNO.
Jun 21 17:28:11 Nextcloud systemd[1]: mariadb.service: Main process exited, code=exited, status=218/CAPABILITIES
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: Enterprise open source support | Ubuntu
░░
░░ An ExecStart= process belonging to unit mariadb.service has exited.
░░
░░ The process’ exit code is ‘exited’ and its exit status is 218.
Jun 21 17:28:11 Nextcloud systemd[1]: mariadb.service: Failed with result ‘exit-code’.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: Enterprise open source support | Ubuntu
░░
░░ The unit mariadb.service has entered the ‘failed’ state with result ‘exit-code’.
Jun 21 17:28:11 Nextcloud systemd[1]: Failed to start MariaDB 10.6.18 database server.
░░ Subject: A start job for unit mariadb.service has failed
░░ Defined-By: systemd
░░ Support: Enterprise open source support | Ubuntu
░░
░░ A start job for unit mariadb.service has finished with a failure.
░░
░░ The job identifier is 2881 and the job result is failed.

Eingabe von mysql -u root -p führt zu:
ERROR 2002 (HY000): Can’t connect to local server through socket ‘/run/mysqld/mysqld.sock’ (2)

Test-Eingabe von mysqld_safe --skip-grant-tables & führt zu:
240621 17:46:21 mysqld_safe Starting mariadbd daemon with databases from /var/lib/mysql

Diverse (Test-)Änderungen in folgenden Dateien haben leider auch zu keinem Erfolg geführt:
/etc/mysql/my.cnf
/etc/mysql/mariadb.cnf
/etc/mysql/conf.d/*.cnf
/etc/mysql/mariadb.conf.d/*.cnf
~/.my.cnf

Speicher- bzw. Inode-Probleme wurden keine gefunden:
df -h → (Avail: 221G, Use%: 97%, Mounted on: /)
df -hi → (IFree: 222M, IUse%: 1%, Mounted on: /)

Ich habe soweit alles per root-login benutzt, daher keine Eingabe von sudo.

Zusatzinfo:
Ich würde gerne NICHT meine Datenbanken löschen, sondern gerne beibehalten, falls möglich. :stuck_out_tongue_winking_eye:

Falls irgendwelche Files von euch eingesehen werden möchten, reiche ich diese gerne nach.
Ich wollte nur erst mal einen Überblick verschaffen. :wink:

Schon mal danke an die Spezialisten unter euch.

P.S.: Ich weiß, dass mein Setup nicht das Beste und Sicherste ist, aber das ist hier gerade nicht das Problem.

Grüße, Bodo08.

Hi Leute.
Ich habe selbst eine Lösung gefunden… mit ein wenig Hilfe von chatgpt… sehr traurig…
Ich hoffte auf Hilfe in diesem Forum.

In der Datei /lib/systemd/system/mariadb.service war eine Option AmbientCapabilities=CAP_IPC_LOCK CAP_DAC_OVERRIDE CAP_AUDIT_WRITE gesetzt, die den mysql-service zum Absturz brachte.

Ich habe diese Option auskommentiert, so dass sie deaktiviert ist.
(Ich könnte auch AmbientCapabilities= mit demselben Ergebnis einstellen)

Von da an funktionierte meine Nextcloud wieder in jeder Hinsicht.
Aber ich bin mir nicht ganz sicher, was diese Option bewirkt und ob ich sie vielleicht doch brauche.

Kann mir hier jemand erklären, ob ich diese Option brauche und für welche App oder welches System sie verwendet wird?
Ich weiß auch nicht, warum und wie diese Option gesetzt wurde.
(Vermutlich von einer App?!)

Eine Antwort wäre hier sehr hilfreich.

Vielen Dank im Voraus.
Gruß, Bodo08.