Nextcloud zeigt SQlite an, obwohl MySQL installiert ist

Hallo!

Leider wird bei meiner Installation auf einem Raspberry Pi 4B 4GB folgendes angezeigt:

SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln. Dies wird insbesondere bei der Benutzung des Desktop-Clients zur Synchronisierung empfohlen. Um zu einer anderen Datenbank zu migrieren, benutzen Sie bitte die Kommandozeile: 'occ db:convert-type', oder schauen Sie in die Dokumentation ↗.

Auf dem Pi ist allerdings MySQL installiert. Was kann ich da tun?

Danke für eure Hilfe!

T-T

Naja, MySQL installiert ist die eine Sache, MySQL auch Nextcloud bekannt machen eine andere. Hast Du in Deiner config.php einenen Eintrag wie:
‘dbtype’ => ‘mysql’ ?

1 Like

Steht eigentlich direkt da.

Docs: https://docs.nextcloud.com/server/20/admin_manual/configuration_server/occ_command.html#database-conversion-label

In Kurzform: Es ist alles ok bei Deiner Nextcloud. Durch den Wechsel auf eine andere DB könnte die Performance besser sein.

@peteman52 Wo finde ich die config.php?

Edit: Das habe ich gefunden. Dort steht 'dbtype' => 'sqlite3'
Kann ich das jetzt einfach ändern?

Nein. Bitte lies die Dokumentation, siehe link

1 Like

Dann bekomme ich folgenden Fehler:

Could not open input file: occ

@rakekniven Was soll ich jetzt tun?

den ganzen pfad zur datei occ mit angeben.

also z.b.
sudo -u www-data php /var/www/nextcloud/occ ...
anstatt
sudo -u www-data php occ ...

Danke! Andere Stelle bleibt es schonmal nicht mehr hängen. Ich musste nur erstmal herausfinden, wo meine occ-Datei überhaupt liegt.

Jetzt habe ich leider ein neues Problem, ich bekomme nach der Aufforderung das Passwort einzugeben folgende Fehlermeldung:

 Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [2002] Connection refused

du hast einen datenbank user angelegt? also einen user in dem datenbank management system, der selber wiederum datenbanken anlegen darf?

Ja, so in der Art

Edit: Der User heißt “nextcloud”.

@Reiner_Nippes so stand es in einem Tutorial. Soll das nicht so gemacht werden? Was soll ich jetzt machen?

Außerdem steht auch in der Dokumentation folgendes:
sudo -u www-data php occ db:convert-type mysql oc_dbuser 127.0.0.1 oc_database

Mit Fokus auf oc_dbuser

sollte dann nicht eher:

sudo -u www-data php occ db:convert-type mysql nextcloud 127.0.0.1 oc_database

heißen? und wahrscheinlich heißt datenbank auch nicht oc_database. oder?

@Reiner_Nippes Funktioniert leider auch nicht, gleicher Fehler. Muss denn die IP abgeändert werden? Ich habe das bisher immer die IP vom Raps im lokalen Netzwerk eingegeben

mysql/mariadb behandelt 127.0.0.1 und localhost unterschiedlich. bei 127.0.0.1wird der network stack und die ip adresse benutzt. wohingegen bei localhost der linux socket benutzt wird.

und jedem nutzer wird meist auch noch nur einer verbindungsart erlaubt.

wahrscheinlich hast du den user als ‘nextcloud’@‘localhost’ angelegt. dann kann er sich nicht via ‘127.0.0.1’ anmelden. für mysql/mariadb ist das nicht das gleiche.

@Reiner_Nippes Ich habe jetzt mal localhost eingegeben. Den vorherigen Fehler gibt es schonmal nicht mehr. Stattdessen erscheint folgender:

SQLSTATE[42000]: Syntax error or access violation: 1142 CREATE command denied to user 'nextcloud'@'localhost' for table 'oc_migrations'

Hat niemand eine Lösung dafür?

Das kommt darauf an. Wenn Du Nextcloud noch nicht “produktiv” benutzt, dann ist eine
Neuinstallation das einfachste.
Vor der Neuinstallation solltest Du dann erst Deine Nextcloud-Datenbank in MYSQL anlegen.
Dafür gibt es eine Anleitung in der Nextcloud-Doku z.B. hier

Dann bei der Installation die Fragen beantworten, das sollte es dann sein.
Bei Schwierigkeiten hier im Forum oder über Gugl suchen.

Die Festplatte für die Nextcloud kommt erst am Sonntag, daher ist sie noch nicht produktiv im Einsatz. @peteman52 Gibt es eine Möglichkeit MYSQL zurückzusetzen und Nextcloud clean zu entfernen um von vorne anzufangen?

man kann die datenbank löschen. ja. google mal “mysql drop database”

hast du die datenbank richtig angelegt? die doku dazu:

CREATE USER 'nexcloud'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES on nextcloud.* to 'nexcloud'@'localhost';
FLUSH privileges;

ohne den grant befehl darf der user nextcloud nämlich nix machen in der db.

@Reiner_Nippes Und wie kann ich die Nextcloud clean neu installieren?

hast du die datenbank gelöscht und neu angelegt?

willst du deine daten behalten oder kannst du sie neu “importieren”?