MariaDB 10 (Paket) Nextcloud (Docker Container): Error while trying to create admin user: Failed to connect to the database

Status
Für weitere Antworten geschlossen.

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
893
Punkte für Reaktionen
11
Punkte
44
Ich habe eine DS420 mit DSM7.0.1. Das offizielle Nextcloud Image ist installiert, als Datenbank nutze ich das Synology-Paket MariaDB 10 (keinen Docker-Container). Meine Clients (PCs, Laptop, Mobiltelefon) synchronisieren Kalender und Adressbücher (CalDAV, CardDAV) mit Nextcloud problemlos.

Da ich ein Update (mein erstes) des Nextcloud-Containers versaut habe, wollte ich Nextcloud neu aufsetzen (die MariaDB 10 Datenbank für Nextcloud aber erhalten). Also habe ich den Nexcloud Container gestoppt und gelöscht sowie das neue Nexcloud Image geladen. Dann habe ich den Inhalt von /docker/nextcloud gelöscht und den Nexcloud Container neu gestartet.

Als ich mich im Browser mit IP_DES_NAS:80 angemeldet hatte, sollte ich erwartungsgemäss für Nextcloud das Administrator-Konto anlegen und die MySQL/MariaDB Datenbank einrichten. Leider kam die Fehlermeldung "Dieser Benutzername existiert bereits".

Da der Nextcloud Admin ja gelöscht sein müsste (weil /docker/nextcloud gelöscht wurde), kann es sich ja nur um den Nextcloud-User bei MariaDB handeln, also habe ich ihn gelöscht:

Code:
root@DS420:~# mysql -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 33
Server version: 10.3.29-MariaDB Source distribution

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)]> select user,host from mysql.user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| nextcloudUser | %         |
| root          | 127.0.0.1 |
| root          | ::1       |
| nextcloudUser | localhost |
| root          | localhost |
+---------------+-----------+
5 rows in set (0.000 sec)

MariaDB [(none)]> DROP USER 'nextcloudUser';
Query OK, 0 rows affected (0.017 sec)

MariaDB [(none)]> select user,host from mysql.user;
+------+-----------+
| user | host      |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1       |
| root | localhost |
+------+-----------+
3 rows in set (0.000 sec)

MariaDB [(none)]> exit
Bye
root@DS420:~#

Wenn ich mich nun im Browser mit IP_DES_NAS:80 bei Nextcloud anmelde, kriege ich die Meldung; Error while trying to create admin user: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [1045] Access denied for user 'nextcloudUser'@'172.17.0.2' (using password: YES)

Was mache ich falsch?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Wenn der nextcloud Benutzer der Datenbank gelöscht ist musst du bei der nextcloud Installation den root Benutzer der Datenbank angeben, damit sich nextcloud den eigenen Benutzer anlegen kann.
Oder du musst eine Datenbank anlegen und einen Benutzer mit passenden Rechten und diesen dem Installer mitgeben.

Ist die erste Installation durchgelaufen kannst du nicht nachträglich den Datenbankbenutzer löschen, den legt er sich dann nicht neu an automatisch.
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
893
Punkte für Reaktionen
11
Punkte
44
Wenn der nextcloud Benutzer der Datenbank gelöscht ist musst du bei der nextcloud Installation den root Benutzer der Datenbank angeben, damit sich nextcloud den eigenen Benutzer anlegen kann.
Ich bin verwirrt wo/wann geben ich bei der Nextcloud Container Installation den root Benutzer der Datenbank an?

Ich habe das Image gestartet, dann:
Volume > Ordner hinzufügen > /docker/nextcloud, MountPfad: /var/www/html/
Volume > Ordner hinzufügen > /NextcloudSync/Data, MountPfad: /data/
Netzwerk: bridge
lokaler Port: 6000, Containerport: 80, Typ: TCP

Oder du musst eine Datenbank anlegen und einen Benutzer mit passenden Rechten und diesen dem Installer mitgeben.

Das hatte ich ursprünglich gemacht:
sudo su -
mysql -p
create database nextcloudDB;
create user 'nextcloudUser'@'localhost' identified by 'NEXTCLOUD_USER_PASSWORT';
grant all privileges on nextcloudDB.* to 'nextcloudUser'@'%' identified by 'NEXTCLOUD_USER_PASSWORT';

Und dann mit IP_DES_NAS:80 im Browser:
Nextcloud Admin mit Passwort
Datenbankverzeichnis /var/www/html/data
nextcloudUser mit NEXTCLOUD_USER_PASSWORT
nextcloudDB mit IP_DES_NAS:3306

Daraufhin kam die Fehlermeldung "Dieser Benutzername existiert bereits". Und ich habe nextcloudUser in MariaDB geläscht/gedropt.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Auf der ersten geladenen Seite normal, eventuell irgendwo 'erweitert' aufklappen.

Entweder bin ich zu müde, oder sehe grad den Fehler nicht.

Nur das 'Datenbank Verzeichnis' kommt mir komisch vor. Das klingt eher nach SQlite oder ähnlich. Sollte man für mariadb gar nicht brauchen so eine Angabe (db-user/pass, db-name, db-host).
Müsste mir aber auch noch mal die Beschreibung zum Image auf docker hub durchlesen.
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
893
Punkte für Reaktionen
11
Punkte
44
Nur das 'Datenbank Verzeichnis' kommt mir komisch vor.
/var/www/html/ ist aber die Vorgabe von Nextcloud und funktioniert auch.

Ich habe meinen Fehler gefunden:

die Fehlermeldung "Dieser Benutzername existiert bereits" meinte nicht den Nextcloud User sondern den Nextcloud Admin. Der Nextcloud Admin wurde nicht gelöscht obwohl /docker/nextcloud gelöscht wurde - warum auch immer. Ich habe also einen neuen Nextcloud Admin eingegeben und die bekannten Daten von MariaDB (Admin, DBname und Port) und Nextcloud läuft wieder.

Jetzt habe ich den alten Benutzer und Admin sowie einen zweiten, den neuen, Admin in Nextcloud. Kann ich den neuen Admin in Nextcloud löschen (Benutzer > Mülltonne)?

Allerdings wurde die empfohlenen Apps (Kalender, Adressbuch usw.) nicht geladen, obwohlm der Haken gesetzt war. Es sind nur Dashboard, Dateien, Fotos und Aktivität installiert. Ich habe daher den alten Inhalt von /docker/nextcloud kopiert, konnte dann aber Nextcloud nicht starten. Kann ich die alten Nextcloud Einstellungen und Apps wiederherstellen oder sollte ich besser alles neu aufbauen?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Natürlich ist /var/www/html eine Vorgabe von Nextcloud... standardmäßig wird ja auch (die Dateibasierte) SQLite als Datenbank verwendet.
Nur im Zusammenhang mit MariaDB/mySQL macht es eben keinen Sinn.

Wenn der originale admin funktioniert kann man den neuen auch löschen.

Was bei der Installation der Apps hakte kann man aus der Ferne schlecht sagen.
Die Apps und teilweise Einstellungen liegen im data Verzeichnis /docker/nextcloud, die Einstellungen und Inhalte dazu liegen in der MariaDB.
Kommt drauf an von was du welche Backups hast.
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
893
Punkte für Reaktionen
11
Punkte
44
Muss ich /var/www/html wirklich ändern, wo es doch funktioniert und auch in allen Installationsanleitungen, die ich lass, verwendet wurde?

Ich habe /docker/nextcloud mit der File Station kopiert. Von MariaDB habe ich ein tägliches Hyper Backup mit Versionen und ein Dump Backup (mysqldump -u nextcloudUser -p --all-databases). Und natürlich habe ich vor dem Update in Nextcloud alle Kalender und Adressbücher exportiert.

Ich frage mich halt, ob ich eine Chance habe Nextcloud zu reparieren oder alles besser neu aufsetzen sollte?

Kann ich als Admin einfach die fehlenden Apps installieren ohne alles noch mehr kaputt zu machen? Eigentlich müssten die Daten in MariaDB ja noch da sein:

Code:
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| nextcloudDB        |
| performance_schema |
+--------------------+
4 rows in set (0.001 sec)

MariaDB [(none)]>

Und wenn ich wirklich alles neu aufsetzen muss, sollte ich sicher nextcloudDB vorher löschen (drop database nextcloudDB;) oder eine neue Datenbank mit anderem Namen anlegen?
 
Zuletzt bearbeitet:

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Nein, du musst nichts ändern. Aber hast du das eventuell falsch abgelesen / abgeschrieben?
Ich kenne nämlich nur das Feld "Datenverzeichnis" mit /var/www/html/data. "Datenbankverzeichnis" habe ich noch nie gesehen.

Wenn du neu aufsetzt und dann Kalender/Adressbücher/Dateien neu einpflegst würde ich in der Tat auch die Datenbank vorher entsorgen.

Apps als admin nachinstallieren sollte kein Problem sein, wenn die Versionen passen. In welchen Konstellationen / App das geht/nicht geht mit Nutzung vorhandener Daten weiß ich jetzt aber nicht.
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
893
Punkte für Reaktionen
11
Punkte
44
Möglich, dass ich mich mit Datenverzeichnis/Datenbankverzeichnis vertan habe. Sorry.

Jetzt habe ich Nextcloud 23.0.0 installiert, vor dem Update-Versuch war es imho 22.2.0.

Laut +Apps sind sehr viele Apps installiert/aktiviert, die ich aber links oben nicht auswählen kann - auch Calendar und Contacts. :oops:

Nextcloud 23.0.0 Apps Organisation Screenshot_20220122_142906.pngNextcloud 23.0.0 vorgestellte Apps Screenshot_20220122_143019.png

Wenn jetzt die Nextcloud-Installation unrettbar im Eimer ist, reicht dann drop database nextcloudDB oder besser DSM7 > MariaDB 10 > Datenbank zurücksetzen?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Mal aus/eingeloggt und Seite neu geladen?

Allerdings steht auch bei den beiden die Version "0". Vielleicht nochmal deaktiveren/aktiveren oder entfernen/installieren und das gerade zu biegen.

Ob du die Datenbank über die Konsole oder die GUI entsorgst ist eigentlich egal.
Über die GUI setzt du halt das ganze Paket mal zurück , egal wie viele Datenbanken du hast.
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
893
Punkte für Reaktionen
11
Punkte
44
So, ich habe es jetzt geschafft Kalender, Kontakte und Aufgaben zu aktivieren und die Daten sind (im User-Account) auch wieder da! :) Heureka!

Nun ist alles fast wie vorher. Mail habe ich weggelassen, weil brauche ich nicht. Aber ich habe noch ein Icon aus der alten Installation gefunden, dass ich nicht erkenne. Was ist die 5. App von rechts?

Nextcloud 22.2.0 Apps Screenshot_20220113_222923.png

Natürlich frage ich mich, ob alles auch unter der Haube wieder funktioniert oder nur so aussieht. Ich habe nur die genannten drei Apps manuell aktiviert, ist es normal, dass dennoch so viele Apps offenbar aktiviert sind?

Nextcloud 23.0.0 Deine Apps aktivierte deaktivierte Screenshot_20220122_193111.pngNextcloud 23.0.0 Deine Apps aktivierte deaktivierte Screenshot_20220122_193130.pngNextcloud 23.0.0 Deine Apps aktivierte deaktivierte Screenshot_20220122_193203.png

Als Admin finde ich unter Einstellungen > Übersicht keine Meldungen, die mir Sorge machen. Gibt es noch irgendwelche Möglichkeiten Fehler zu suchen oder kann ich davon ausgehen, dass alles ordentlich funktioniert solange ich keine Fehler finde?

Und noch eine Zusatzfrage: kann ich sorglos Apps ausprobieren solange sie "vorgestellt" sind?
 
  • Like
Reaktionen: Fusion

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Normal wird doch mit mouse over ein Text angezeigt, sieht nach irgendeiner Suche aus...

Fehler... Im log...

Anzahl.. Vielleicht. Eventuell auch nur mehr sichtbar als separate Apps als früher.
 

abrocksi

Benutzer
Mitglied seit
27. Dez 2013
Beiträge
240
Punkte für Reaktionen
78
Punkte
28
Sieht nach Nextcloud Talk aus.

cheers,
abrocksi
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Du nutzt Nextcloud haupsächlich für Kontakte, Kalender und Aufgaben? Oder auch für andere Synchronisationen?
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
893
Punkte für Reaktionen
11
Punkte
44
...derzeit ja. Später verm. auch Dateien.
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
schau dir das doch einmal an: Baikal
viel einfacher, schmaler, besser/leichter zu administrieren usw.
egal ob nativ mit webstation,php & apache oder in Docker (bevorzugt)
 
Zuletzt bearbeitet:

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
893
Punkte für Reaktionen
11
Punkte
44
Danke für den Hinweis.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat