Migration der OwnCloud  SQLite Datenbank zu MariaDB

Nachdem OwnCloud im Admin Interface bereits seit langer Zeit angezeigt hat, dass ich auf ein richtiges Datenbanksystem wechseln soll, habe ich mir nun vor Weihnachten die Zeit genommen die Umstellung endlich durchzuführen.

Die OwnCloud Version zum Zeitpunkt der Umstellung lautet 10.3.2.2. Meine Installation verwaltet ca. 60GB Daten in annähernd 40.000 Dateien. Das ganze läuft auf einem Server mit CentOS 6.

Für die Umstellung habe ich mich an den Guide von OwnCloud gehalten:
https://doc.owncloud.org/server/10.3/admin_manual/configuration/database/db_conversion.html

Ich habe bereits einen laufenden MariaDB Server, so dass ich diesen nicht erst installieren muss. Die Installation wird an dieser Stelle nicht beschrieben. Auch habe ich die Vorbereitungen nicht wie in der Anleitung durchgeführt. Sondern die Datenbank und zugehörigen User über das Webfrontend PHPMyAdmin eingerichtet.

OwnCloud Datenbank über PHPMyAdmin anlegen.

Für den Zugriff auf die Datenbank habe ich einen User owncloudadmin angelegt, welcher nur Berechtigungen auf diese eine Datenbank erhält.

User mit Berechtigungen auf die Datenbank anlegen

Danach nur noch in den Ordner von OwnClopud wechseln und den folgenden Befehl ausführen:

sudo -u apache ./occ db:convert-type [options] type username hostname database

[[email protected] owncloud]# sudo -u apache ./occ db:convert-type --all-apps mysql owncloudadmin 127.0.0.1 owncloud
This feature is currently experimental.
Enter a password to access a target database:
Creating schema in new database
The following tables will not be converted:
oc_activity
oc_activity_mq
oc_files_antivirus
oc_files_avir_status
oc_notifications
oc_roundcube
oc_trusted_servers
oc_users_external
Continue with the conversion (y/n)? [n] y
oc_account_terms
    0 [>---------------------------]
oc_accounts
 2/2 [============================] 100%
oc_addressbookchanges
 4/4 [============================] 100%
oc_addressbooks
 1/1 [============================] 100%
oc_appconfig
 130/130 [============================] 100%
oc_authtoken
 5/5 [============================] 100%
oc_calendarchanges
    0 [>---------------------------]
oc_calendarobjects
    0 [>---------------------------]
oc_calendars
 1/1 [============================] 100%
oc_calendarsubscriptions
    0 [>---------------------------]
oc_cards
 2/2 [============================] 100%
oc_cards_properties
 9/9 [============================] 100%
oc_comments
    0 [>---------------------------]
oc_comments_read_markers
    0 [>---------------------------]
oc_credentials
    0 [>---------------------------]
oc_dav_job_status
    0 [>---------------------------]
oc_dav_properties
    0 [>---------------------------]
oc_dav_shares
    0 [>---------------------------]
oc_external_applicable
    0 [>---------------------------]
oc_external_config
    0 [>---------------------------]
oc_external_mounts
    0 [>---------------------------]
oc_external_options
    0 [>---------------------------]
oc_federated_reshares
    0 [>---------------------------]
oc_file_locks
 90/90 [============================] 100%
oc_filecache
chunked query, 40 chunks
 39137/39137 [============================] 100%
oc_files_trash
    0 [>---------------------------]
oc_group_admin
 1/1 [============================] 100%
oc_group_user
 2/2 [============================] 100%
oc_groups
 2/2 [============================] 100%
oc_jobs
 18/18 [============================] 100%
Skipping copying data for the table "oc_migrations", it will be populated later.
oc_mimetypes
 71/71 [============================] 100%
oc_mounts
 2/2 [============================] 100%
oc_persistent_locks
    0 [>---------------------------]
oc_preferences
 12/12 [============================] 100%
oc_privatedata
    0 [>---------------------------]
oc_properties
    0 [>---------------------------]
oc_schedulingobjects
    0 [>---------------------------]
oc_share
 24/24 [============================] 100%
oc_share_external
    0 [>---------------------------]
oc_storages
 7/7 [============================] 100%
oc_systemtag
    0 [>---------------------------]
oc_systemtag_group
    0 [>---------------------------]
oc_systemtag_object_mapping
    0 [>---------------------------]
oc_users
 2/2 [============================] 100%
oc_vcategory
    0 [>---------------------------]
oc_vcategory_to_object
    0 [>---------------------------]

Obwohl die Funktion noch im Versuchsstadium ist, hat zumindest bei mir die Migration perfekt funktioniert. Während der Migration hat kein User an den Daten gearbeitet, wurden keine Änderungen durchgeführt, um eine Störung der Migration zu verhindern.

Leave a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.