🇩🇪 Deutsch

01 Nov 2023

Nextcloud/Owncloud: Benutzer aus sqlite exportieren und in Mysql importieren

Wenn man die Nextcloud von Sqlite auf Mysql umstellen muss, weil das Update scheitert und es zu einer Neuinstallation kommt, möchte man mindestens die Benutzer aus Sqlite exportieren und in Mysql importieren.

Es ist wirklich möglich!



  • Benutzer anzeigen
[user04@fuchsia ./cloud]$ php occ user:list
  - admin: admin
  - chrissie: Chrissie Brown
  - elke: Elke
  - marina: Marina
  - matthias: Matthias
  - reaperman: Thomas
  • Benutzer aus Sqlite exportieren, in die Datei oc_users.sql
[user04@fuchsia ./cloud]$ sqlite3 owncloud.db
SQLite version 3.xx.x xxxx-xx-xx xx:xx:xx
Enter ".help" for usage hints.
sqlite> .output oc_users.sql
sqlite> .dump oc_users
sqlite> .exit
  • Die exportierte SQL-Datei editieren, Anpassungen vornehmen!
vi oc_users.sql
  • Beispiel-Inhalt des SQL-Files (gekürzt!)
INSERT INTO oc_users VALUES('chrissie','Chrissie Brown','3|$argon2id$v=19$m=65536,t=4,p=1$$...','chrissie');
INSERT INTO oc_users VALUES('matthias','Matthias','3|$argon2id$v=19$m=65536,t=4,p=1$$...','matthias');
INSERT INTO oc_users VALUES('thomas','Thomas','2|$argon2i$v=19$m=65536,t=4,p=1$$...','thomas');
INSERT INTO oc_users VALUES('reaperman','Hechi','3|$argon2id$v=19$m=65536,t=4,p=1$$...','reaperman');
  • Datei nun in die neue Nextcloud-Instanz via mysql importieren
mysql -u user04sqlxx -pSecreT user04sqlxx < oc_users.sql
  • Nun muss man nur noch die Daten-Ordner mit dem Scan-Befehl durchforsten, und es ist fast alles wie vorher. \o/
  • Leider werden die E-Mail-Adressen so nicht übernommen, das muss man leider manuell nachtragen.
    • Dies Könnte man sicher auch automatisieren, sie stehen in einer anderen Tabelle