Jukes Posted January 1, 2022 Share Posted January 1, 2022 Hallo, ich habe ein riesiges Problem mit Nextcloud. Wenn ich mit die GUI starten will kann ich mich zwar einloggen, komme aber dann sofort zur folgenden Fehlermeldung (Als Datenbank nutze ich MariaDB): "Internal Server Error The server encountered an internal error and was unable to complete your request. Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report. More details can be found in the server log." Schaue ich dann in das Log von Nextcloud sticht folgende Zeile hervor: "Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2006] MySQL server has gone away in /config/www/nextcloud/lib/private/DB/Connection.php:87" Seltsamerweise klappt das Syncen mit der Nextcloud-App und verschiedenen Clients noch immer ohne große Probleme. Hat jemand schonmal diesen Fehler gehabt oder kann mir helfen diesen zu beheben? Das wäre fantastisch Angehängt sind meine Diagnostics. jukes-server-diagnostics-20220101-2329.zip Quote Link to comment
mgutt Posted January 1, 2022 Share Posted January 1, 2022 30 minutes ago, Jukes said: Angehängt sind meine Diagnostics. Da sehe ich jetzt nichts was mit deinem Problem zu tun hat, aber das hier kommt sehr oft drin vor. Das solltest du mal recherchieren warum das passiert: Quote Jan 1 23:28:00 Jukes-Server kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 243 Jan 1 23:28:00 Jukes-Server kernel: NVRM: The NVIDIA probe routine was not called for 1 device(s). Jan 1 23:28:00 Jukes-Server kernel: NVRM: This can occur when a driver such as: Jan 1 23:28:00 Jukes-Server kernel: NVRM: nouveau, rivafb, nvidiafb or rivatv Jan 1 23:28:00 Jukes-Server kernel: NVRM: was loaded and obtained ownership of the NVIDIA device(s). Jan 1 23:28:00 Jukes-Server kernel: NVRM: Try unloading the conflicting kernel module (and/or Jan 1 23:28:00 Jukes-Server kernel: NVRM: reconfigure your kernel without the conflicting Jan 1 23:28:00 Jukes-Server kernel: NVRM: driver(s)), then try loading the NVIDIA kernel module Jan 1 23:28:00 Jukes-Server kernel: NVRM: again. Jan 1 23:28:00 Jukes-Server kernel: NVRM: No NVIDIA devices probed. Jan 1 23:28:00 Jukes-Server kernel: nvidia-nvlink: Unregistered the Nvlink Core, major device number 243 30 minutes ago, Jukes said: "Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2006] MySQL server has gone away in /config/www/nextcloud/lib/private/DB/Connection.php:87" Wenn das immer so wäre, könntest du denke ich nicht mal die Login-Seite laden. Das könnte eine ältere Fehlermeldung sein, wo mal kurz die DB nicht zu erreichen war. Auch sollte eine nicht erreichbare Datenbank keinen Server Error auslösen, sondern eine Fehlermeldung von Nextcloud selbst. 30 minutes ago, Jukes said: "Internal Server Error The server encountered an internal error and was unable to complete your request. Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report. More details can be found in the server log." Die Ursache für solche Fehlermeldungen stehen normalerweise in den Apache Logs. Ich habe das gerade beim offiziellen Nextcloud Container (knex666) ausprobiert, aber da werden die Logs an stderr weitergeleitet und ich gehe daher davon aus, dass sie normalerweise über die Container Logs zu sehen sein sollten. Nutzt du evtl einen anderen Container? @ich777 Diese Softlinks habe ich im Nextcloud-Container vorgefunden, heißt das, dass alle Fehlermeldungen in den Container Logs stehen müssten? ls -lah /var/log/apache2/ total 0 drwxrwxrwx 2 www-data www-data 72 Dec 21 20:36 . drwxr-xr-x 1 root root 57 Dec 22 13:10 .. lrwxrwxrwx 1 www-data www-data 11 Dec 21 20:36 access.log -> /dev/stdout lrwxrwxrwx 1 www-data www-data 11 Dec 21 20:36 error.log -> /dev/stderr lrwxrwxrwx 1 www-data www-data 11 Dec 21 20:36 other_vhosts_access.log -> /dev/stdout Sieht mir jedenfalls danach aus: Quote Link to comment
Jukes Posted January 1, 2022 Author Share Posted January 1, 2022 Das mit der Daten-Synchronisation nehme ich zurück, das funktioniert leider doch nicht. Tatsächlich taucht dieser Fehler immer wieder auf: "Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2006] MySQL server has gone away in /config/www/nextcloud/lib/private/DB/Connection.php:87" Sowohl im Nextcloud-Log via Unraid (nachdem ich Nextcloud neustarte, als auch im error.log im Nextcloud-Ordner. Was sind Apache-Logs :D? Und ich nutze den offiziellen Container. Quote Link to comment
mgutt Posted January 2, 2022 Share Posted January 2, 2022 1 hour ago, Jukes said: "Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2006] MySQL server has gone away in /config/www/nextcloud/lib/private/DB/Connection.php:87" Dann kann dein Container die Datenbank nicht erreichen. Was ist mit den Logs des MariaDB Containers? Teste bitte mal mit HeidiSQL oder einem phpmyadmin Container ob du eine Verbindung zur MariaDB aufbauen kannst. Auch könntest du mal die Console vom Nextcloud Container öffnen und das ausführen: apt-get update apt-get install telnet timeout 2 telnet <ip-vom-mariadb-container> 3306 Bekommst du ein "connected to" oder ein "unable to connect"? Quote Link to comment
ich777 Posted January 2, 2022 Share Posted January 2, 2022 6 hours ago, mgutt said: Diese Softlinks habe ich im Nextcloud-Container vorgefunden, heißt das, dass alle Fehlermeldungen in den Container Logs stehen müssten? Ja genau, aber das ist eher mit vorsicht zu genießen da dies nicht auf jeder Distribution funktioniert soweit ich weiß, hier würde 'tail -f access.log' Beispielsweise angebrachter sein. Quote Link to comment
Jukes Posted January 2, 2022 Author Share Posted January 2, 2022 10 hours ago, mgutt said: Auch könntest du mal die Console vom Nextcloud Container öffnen und das ausführen: apt-get update apt-get install telnet timeout 2 telnet <ip-vom-mariadb-container> 3306 Bekommst du ein "connected to" oder ein "unable to connect"? Ehrlich gesagt nichts von beidem :D.... Quote Link to comment
Jukes Posted January 2, 2022 Author Share Posted January 2, 2022 11 hours ago, mgutt said: Dann kann dein Container die Datenbank nicht erreichen. Was ist mit den Logs des MariaDB Containers? Teste bitte mal mit HeidiSQL oder einem phpmyadmin Container ob du eine Verbindung zur MariaDB aufbauen kannst. So sieht das Log des MariaDB Containers aus: Und sorry, das mit HeidiSQL und phpmyadmin ist leider etwas zu kompliziert für mich. Wie teste ich das aus? Quote Link to comment
mgutt Posted January 2, 2022 Share Posted January 2, 2022 59 minutes ago, Jukes said: Ehrlich gesagt nichts von beidem :D.... Da der Befehl "apt-get" nicht geht, nutzt du nicht den Original Nextcloud Container. Welchen nutzt du? Die spitzen Klammern müssen weg. Bitte so ausführen: timeout 2 telnet 192.168.178.50 3306 Wieso hast du zuerst die IP 172.17.0.4 ausprobiert? Das ist eine interne IP, die sich jederzeit ändern kann. Hast du die evtl in deiner Nextcloud-Installation hinterlegt? 9 minutes ago, Jukes said: Und sorry, das mit HeidiSQL und phpmyadmin ist leider etwas zu kompliziert für mich. Wie teste ich das aus? Quote Link to comment
Jukes Posted January 2, 2022 Author Share Posted January 2, 2022 (edited) 7 hours ago, mgutt said: Da der Befehl "apt-get" nicht geht, nutzt du nicht den Original Nextcloud Container. Welchen nutzt du? Oh, jetzt sehe ich es auch. Damals gab es dann wohl nicht den offiziellen. Mein Container stammt aus dem linuxserver Repository. 7 hours ago, mgutt said: Die spitzen Klammern müssen weg. Bitte so ausführen: timeout 2 telnet 192.168.178.50 3306 Wenn ich das eingebe kommt folgendes: 7 hours ago, mgutt said: Wieso hast du zuerst die IP 172.17.0.4 ausprobiert? Das ist eine interne IP, die sich jederzeit ändern kann. Hast du die evtl in deiner Nextcloud-Installation hinterlegt? Das war nur ein Versuch. Ich bin leider nicht super versiert, was Server-Kram angeht und versuche noch zu lernen. Mit HeidiSQL kann ich problemlos auf die Datenbank zugreifen und auch Nextcloud entdecken. Ich hab vor kurzem eine neue Datenbank für Wordpress hinzugefügt. Kann es etwas damit zu tun haben? Oder vielleicht mit Lese oder Schreibrechten im Appdata-Folder? Edited January 2, 2022 by Jukes Quote Link to comment
mgutt Posted January 2, 2022 Share Posted January 2, 2022 2 hours ago, Jukes said: Wenn ich das eingebe kommt folgendes: Ok. Telnet muss erst installiert werden. Welches Betriebssystem verwendet der Container denn? Ansonsten probier mal so: apk add telnet Ansonsten gibt es evtl curl. Dann probiere das: curl -sSL -D - <mariadb-ip>:3306 -o /dev/null Quote Link to comment
mgutt Posted January 2, 2022 Share Posted January 2, 2022 2 hours ago, Jukes said: Ich hab vor kurzem eine neue Datenbank für Wordpress hinzugefügt Normal nicht. Quote Link to comment
Jukes Posted January 2, 2022 Author Share Posted January 2, 2022 7 minutes ago, mgutt said: apk add telnet das resultiert in: 10 minutes ago, mgutt said: curl -sSL -D - http://<mariadb-ip>:3306 -o /dev/null und hier kommt dies: 13 minutes ago, mgutt said: Welches Betriebssystem verwendet der Container denn? Hier weiß ich leider nicht, was du meinst :/. Aber danke für die Hilfe. Ich wäre echt aufgeschmissen. Quote Link to comment
mgutt Posted January 2, 2022 Share Posted January 2, 2022 2 minutes ago, Jukes said: und hier kommt dies: Ok, das sieht so aus als könnte der Nextcloud Container den MariaDB erreichen. Du musst jetzt in die Apache Logs vom Nextcloud Container schauen. Check mal über dessen Konsole ob es einen Apache Unterordner hier gibt: ls -lah /var/log Wenn ja schauen wie die Log Dateien heißen: ls -lah /var/log/apache2 Dann kannst du sie zb so die letzten 30 Zeilen anschauen: tail -n30 /var/log/apache2/error.log Oder in einem der Pfade schauen: /var/log/httpd /var/log/apache /var/log/apache2 Oder vielleicht gibt es die Datei: /var/log/httpd-error.log Quote Link to comment
alturismo Posted January 3, 2022 Share Posted January 3, 2022 und zum Ausschluss, geh mal in die mariadb docker konsole root@9d0cc2d00123:/# mysql -uroot -p Warning: World-writable config file '/etc/my.cnf.d/custom.cnf' is ignored Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 686 Server version: 10.5.13-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> SHOW GRANTS for nextcloud; +----------------------------------------------------------------------------------------------------------+ | Grants for nextcloud@% | +----------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO `nextcloud`@`%` IDENTIFIED BY PASSWORD '*wasauchimmerhierstandistegal............' | | GRANT ALL PRIVILEGES ON `nextcloud`.* TO `nextcloud`@`%` WITH GRANT OPTION | +----------------------------------------------------------------------------------------------------------+ 2 rows in set (0.000 sec) MariaDB [(none)]> nur um auszuschließen das soweit alles passt, vorausgesetzt deine db heißt nextcloud, ansonsten, anpassen Quote Link to comment
Jukes Posted January 3, 2022 Author Share Posted January 3, 2022 2 hours ago, alturismo said: und zum Ausschluss, geh mal in die mariadb docker konsole Okay, das ist interessant. Die Verbindung klappt nicht immer. Erst nach mehreren Versuchen kam das: Quote root@c624d6f4658c:/# mysql -uroot -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 4 Server version: 10.5.13-MariaDB-log MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> SHOW GRANTS for nextcloud; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 4 Current database: *** NONE *** +----------------------------------------------------------------------------------------------------------+ | Grants for nextcloud@% | +----------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO `nextcloud`@`%` IDENTIFIED BY PASSWORD '*XXXXXXX' | | GRANT ALL PRIVILEGES ON `nextcloud`.* TO `nextcloud`@`%` | +----------------------------------------------------------------------------------------------------------+ 2 rows in set (0.004 sec) Quote Link to comment
Jukes Posted January 3, 2022 Author Share Posted January 3, 2022 9 hours ago, mgutt said: Oder in einem der Pfade schauen: /var/log/httpd /var/log/apache /var/log/apache2 Oder vielleicht gibt es die Datei: /var/log/httpd-error.log Ich hab leider keinerlei apache- oder var-Ordner, die ich über die Console finden kann. Gehe ich allerdings in den Nextcloud Ordner in appdata, dann finde ich einen error.log im NGINX Ordner. Dort taucht auch ständig dieser Fehler auf: "2022/01/03 00:29:03 [error] 421#421: *21 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2006] MySQL server has gone away in /config/www/nextcloud/lib/private/DB/Connection.php:87" Quote Link to comment
alturismo Posted January 3, 2022 Share Posted January 3, 2022 28 minutes ago, Jukes said: Die Verbindung klappt nicht immer. Erst nach mehreren Versuchen kam das: 29 minutes ago, Jukes said: ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... ok, dann schmiert dir anscheinend die mariadb als ab, mach mal alle docker aus wo auf die mariadb zugreifen, dann mariadb force update in den erweiterten docker Einstellungen (oben rechts der button in der Docker Übersicht) dann kurz warten, dann die "anhängenden" container (nextcloud, wordpress, ...) starten. Quote Link to comment
Jukes Posted January 3, 2022 Author Share Posted January 3, 2022 26 minutes ago, alturismo said: ok, dann schmiert dir anscheinend die mariadb als ab, mach mal alle docker aus wo auf die mariadb zugreifen, dann mariadb force update in den erweiterten docker Einstellungen (oben rechts der button in der Docker Übersicht) Hat leider nichts geändert Quote Link to comment
mgutt Posted January 3, 2022 Share Posted January 3, 2022 Zeig mal deine config von Nextcloud. Also wo die DB Logindaten drin stehen. Quote Link to comment
Jukes Posted January 3, 2022 Author Share Posted January 3, 2022 Die habe ich nicht geändert und eigentlich nie Probleme gehabt: Quote Link to comment
alturismo Posted January 3, 2022 Share Posted January 3, 2022 ich denke eher das ist bei dem update passiert, da hatten ja viele Probleme mit dem update, lies mal ab hier Quote Link to comment
Solution Jukes Posted January 4, 2022 Author Solution Share Posted January 4, 2022 On 1/3/2022 at 11:54 AM, alturismo said: ich denke eher das ist bei dem update passiert, da hatten ja viele Probleme mit dem update, lies mal ab hier Das war ein richtiger guter Hinweis! Ich hatte Glück und ein noch einen ca. 2 Monate alten MariaDB Ordner gefunden. Den habe ich dann in appdata ersetzt und jetzt funktioniert wieder alles einwandfrei. Habe dann in der Nextcloud Console noch den Befehl "sudo -u abc php /config/www/nextcloud/console.php files:scan --all" eingefügt und jetzt ist die Datenbank hoffentlich auf den neuesten Stand. Oder muss ich sonst noch was beachten? Quote Link to comment
alturismo Posted January 4, 2022 Share Posted January 4, 2022 14 minutes ago, Jukes said: Oder muss ich sonst noch was beachten? falls jetzt ein Docker update vorhanden sein sollte, mach vorher alle anhängenden nochmal aus (NC, WP, was auch immer dran hängt), dann das update, dann kuurz warten, dann die anhängenden wieder normal starten, brauchte es hier auch einmalig beim Wechsel der Plattform. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.