Kurztipp: Nextcloud 31 - Falsches Zeilenformat in deiner Datenbank gefunden
Nach dem Upgrade auf Nextcloud 31 bin ich auf folgende Warnung in der Admin-Übersicht gestoßen:
1Falsches Zeilenformat in deiner Datenbank gefunden. ROW_FORMAT=Dynamic bietet die beste Datenbankleistung für Nextcloud. Bitte aktualisiere das Zeilenformat in der folgenden Liste: oc_notes_meta, oc_profile_config, oc_twofactor_providers, oc_comments, oc_circles_remote, oc_accounts_data, oc_polls_share, oc_systemtag, oc_mail_provisionings, oc_calendar_appt_bookings, oc_group_user, oc_notifications_settings, oc_circles_membership, oc_authtoken, oc_vcategory_to_object, oc_direct_edit, oc_file_locks, oc_calendar_resources_md, oc_groups, oc_richdocuments_wopi, oc_whats_new, oc_text_sessions, oc_federated_reshares, oc_cards, oc_polls_notif, oc_polls_votes, oc_talk_rooms, oc_oauth2_clients, oc_flow_checks, oc_mail_tags, oc_login_flow_v2, oc_text_steps, oc_comments_read_markers, oc_polls_comments, oc_vcategory, oc_properties, oc_share, oc_group_admin, oc_circles_share_lock, oc_flow_operations_scope, oc_systemtag_group, oc_appconfig, oc_circles_member, oc_richdocuments_assets, oc_storages, oc_talk_bridges, oc_text_documents, oc_polls_log, oc_addressbookchanges, oc_mail_trusted_senders, oc_cards_properties, oc_polls_options, oc_directlink, oc_mounts, oc_migrations, oc_circles_circle, oc_circles_mountpoint, oc_users, oc_ratelimit_entries, oc_storages_credentials, oc_calendar_resources, oc_bruteforce_attempts, oc_calendarobjects_props, oc_webauthn, oc_mail_coll_addresses, oc_talk_sessions, oc_calendarsubscriptions, oc_recent_contact, oc_flow_operations, oc_mail_classifiers, oc_collres_resources, oc_calendar_rooms, oc_filecache, oc_systemtag_object_mapping, oc_mail_accounts, oc_calendarchanges, oc_filecache_extended, oc_talk_commands, oc_dav_cal_proxy, oc_oauth2_access_tokens, oc_circles_token, oc_mail_recipients, oc_mail_attachments, oc_preferences, oc_calendar_appt_configs, oc_calendar_rooms_md, oc_talk_attendees, oc_calendar_reminders, oc_calendar_invitations, oc_twofactor_backupcodes, oc_mimetypes, oc_known_users, oc_richdocuments_direct, oc_notifications_pushhash, oc_calendars, oc_calendarobjects, oc_jobs, oc_circles_mount, oc_schedulingobjects, oc_talk_internalsignaling, oc_accounts, oc_circles_event, oc_dav_shares, oc_user_transfer_owner, oc_activity, oc_mail_messages, oc_mail_mailboxes, oc_activity_mq, oc_files_trash, oc_mail_message_tags, oc_polls_polls, oc_notifications, oc_collres_accesscache, oc_trusted_servers, oc_collres_collections, oc_polls_preferences, oc_share_external, oc_user_status, oc_authorized_groups, oc_twofactor_totp_secrets, oc_mail_aliases, oc_privacy_admins, oc_addressbooks. Weitere Informationen findest du in der Dokumentation.
Die standardmäßig von Nextcloud verwendete InnoDB-Storage-Engine unterstützt verschiedene Formate, um Zeileninformationen zu speichern:
REDUNDANT
COMPACT
DYNAMIC
COMPRESSED
REDUNDANT
kommt vor allem dort zum Einsatz, wo noch Kompatibilität mit älteren MySQL-Versionen benötigt wird. COMPACT
spart ca. 20% Speicher gegenüber REDUNDANT
, verursacht bei manchen Aktionen jedoch eine größere CPU-Last. DYNAMIC
ähnelt COMPACT
, bietet aber erweiterte Speichermöglichkeiten für lange Spalten mit variabler Länge und unterstützt große Indexschlüsselpräfixe - Nextcloud erfordert ab Version 31 dieses Format. COMPRESSED
bietet gegenüber DYNAMIC
Unterstützung für Tabellen- und Indexdaten-Komprimierung.
Abhilfe schafft das Ausführen der folgenden Kommandos gegen die verwendete MariaDB-Datenbank:
1ALTER TABLE oc_notes_meta ROW_FORMAT=Dynamic;
2ALTER TABLE oc_profile_config ROW_FORMAT=Dynamic;
3ALTER TABLE oc_twofactor_providers ROW_FORMAT=Dynamic;
4ALTER TABLE oc_comments ROW_FORMAT=Dynamic;
5ALTER TABLE oc_circles_remote ROW_FORMAT=Dynamic;
6ALTER TABLE oc_accounts_data ROW_FORMAT=Dynamic;
7ALTER TABLE oc_polls_share ROW_FORMAT=Dynamic;
8ALTER TABLE oc_systemtag ROW_FORMAT=Dynamic;
9ALTER TABLE oc_mail_provisionings ROW_FORMAT=Dynamic;
10ALTER TABLE oc_calendar_appt_bookings ROW_FORMAT=Dynamic;
11ALTER TABLE oc_group_user ROW_FORMAT=Dynamic;
12ALTER TABLE oc_notifications_settings ROW_FORMAT=Dynamic;
13ALTER TABLE oc_circles_membership ROW_FORMAT=Dynamic;
14ALTER TABLE oc_authtoken ROW_FORMAT=Dynamic;
15ALTER TABLE oc_vcategory_to_object ROW_FORMAT=Dynamic;
16ALTER TABLE oc_direct_edit ROW_FORMAT=Dynamic;
17ALTER TABLE oc_file_locks ROW_FORMAT=Dynamic;
18ALTER TABLE oc_calendar_resources_md ROW_FORMAT=Dynamic;
19ALTER TABLE oc_groups ROW_FORMAT=Dynamic;
20ALTER TABLE oc_richdocuments_wopi ROW_FORMAT=Dynamic;
21ALTER TABLE oc_whats_new ROW_FORMAT=Dynamic;
22ALTER TABLE oc_text_sessions ROW_FORMAT=Dynamic;
23ALTER TABLE oc_federated_reshares ROW_FORMAT=Dynamic;
24ALTER TABLE oc_cards ROW_FORMAT=Dynamic;
25ALTER TABLE oc_polls_notif ROW_FORMAT=Dynamic;
26ALTER TABLE oc_polls_votes ROW_FORMAT=Dynamic;
27ALTER TABLE oc_talk_rooms ROW_FORMAT=Dynamic;
28ALTER TABLE oc_oauth2_clients ROW_FORMAT=Dynamic;
29ALTER TABLE oc_flow_checks ROW_FORMAT=Dynamic;
30ALTER TABLE oc_mail_tags ROW_FORMAT=Dynamic;
31ALTER TABLE oc_login_flow_v2 ROW_FORMAT=Dynamic;
32ALTER TABLE oc_text_steps ROW_FORMAT=Dynamic;
33ALTER TABLE oc_comments_read_markers ROW_FORMAT=Dynamic;
34ALTER TABLE oc_polls_comments ROW_FORMAT=Dynamic;
35ALTER TABLE oc_vcategory ROW_FORMAT=Dynamic;
36ALTER TABLE oc_properties ROW_FORMAT=Dynamic;
37ALTER TABLE oc_share ROW_FORMAT=Dynamic;
38ALTER TABLE oc_group_admin ROW_FORMAT=Dynamic;
39ALTER TABLE oc_circles_share_lock ROW_FORMAT=Dynamic;
40ALTER TABLE oc_flow_operations_scope ROW_FORMAT=Dynamic;
41ALTER TABLE oc_systemtag_group ROW_FORMAT=Dynamic;
42ALTER TABLE oc_appconfig ROW_FORMAT=Dynamic;
43ALTER TABLE oc_circles_member ROW_FORMAT=Dynamic;
44ALTER TABLE oc_richdocuments_assets ROW_FORMAT=Dynamic;
45ALTER TABLE oc_storages ROW_FORMAT=Dynamic;
46ALTER TABLE oc_talk_bridges ROW_FORMAT=Dynamic;
47ALTER TABLE oc_text_documents ROW_FORMAT=Dynamic;
48ALTER TABLE oc_polls_log ROW_FORMAT=Dynamic;
49ALTER TABLE oc_addressbookchanges ROW_FORMAT=Dynamic;
50ALTER TABLE oc_mail_trusted_senders ROW_FORMAT=Dynamic;
51ALTER TABLE oc_cards_properties ROW_FORMAT=Dynamic;
52ALTER TABLE oc_polls_options ROW_FORMAT=Dynamic;
53ALTER TABLE oc_directlink ROW_FORMAT=Dynamic;
54ALTER TABLE oc_mounts ROW_FORMAT=Dynamic;
55ALTER TABLE oc_migrations ROW_FORMAT=Dynamic;
56ALTER TABLE oc_circles_circle ROW_FORMAT=Dynamic;
57ALTER TABLE oc_circles_mountpoint ROW_FORMAT=Dynamic;
58ALTER TABLE oc_users ROW_FORMAT=Dynamic;
59ALTER TABLE oc_ratelimit_entries ROW_FORMAT=Dynamic;
60ALTER TABLE oc_storages_credentials ROW_FORMAT=Dynamic;
61ALTER TABLE oc_calendar_resources ROW_FORMAT=Dynamic;
62ALTER TABLE oc_bruteforce_attempts ROW_FORMAT=Dynamic;
63ALTER TABLE oc_calendarobjects_props ROW_FORMAT=Dynamic;
64ALTER TABLE oc_webauthn ROW_FORMAT=Dynamic;
65ALTER TABLE oc_mail_coll_addresses ROW_FORMAT=Dynamic;
66ALTER TABLE oc_talk_sessions ROW_FORMAT=Dynamic;
67ALTER TABLE oc_calendarsubscriptions ROW_FORMAT=Dynamic;
68ALTER TABLE oc_recent_contact ROW_FORMAT=Dynamic;
69ALTER TABLE oc_flow_operations ROW_FORMAT=Dynamic;
70ALTER TABLE oc_mail_classifiers ROW_FORMAT=Dynamic;
71ALTER TABLE oc_collres_resources ROW_FORMAT=Dynamic;
72ALTER TABLE oc_calendar_rooms ROW_FORMAT=Dynamic;
73ALTER TABLE oc_filecache ROW_FORMAT=Dynamic;
74ALTER TABLE oc_systemtag_object_mapping ROW_FORMAT=Dynamic;
75ALTER TABLE oc_mail_accounts ROW_FORMAT=Dynamic;
76ALTER TABLE oc_calendarchanges ROW_FORMAT=Dynamic;
77ALTER TABLE oc_filecache_extended ROW_FORMAT=Dynamic;
78ALTER TABLE oc_talk_commands ROW_FORMAT=Dynamic;
79ALTER TABLE oc_dav_cal_proxy ROW_FORMAT=Dynamic;
80ALTER TABLE oc_oauth2_access_tokens ROW_FORMAT=Dynamic;
81ALTER TABLE oc_circles_token ROW_FORMAT=Dynamic;
82ALTER TABLE oc_mail_recipients ROW_FORMAT=Dynamic;
83ALTER TABLE oc_mail_attachments ROW_FORMAT=Dynamic;
84ALTER TABLE oc_preferences ROW_FORMAT=Dynamic;
85ALTER TABLE oc_calendar_appt_configs ROW_FORMAT=Dynamic;
86ALTER TABLE oc_calendar_rooms_md ROW_FORMAT=Dynamic;
87ALTER TABLE oc_talk_attendees ROW_FORMAT=Dynamic;
88ALTER TABLE oc_calendar_reminders ROW_FORMAT=Dynamic;
89ALTER TABLE oc_calendar_invitations ROW_FORMAT=Dynamic;
90ALTER TABLE oc_twofactor_backupcodes ROW_FORMAT=Dynamic;
91ALTER TABLE oc_mimetypes ROW_FORMAT=Dynamic;
92ALTER TABLE oc_known_users ROW_FORMAT=Dynamic;
93ALTER TABLE oc_richdocuments_direct ROW_FORMAT=Dynamic;
94ALTER TABLE oc_notifications_pushhash ROW_FORMAT=Dynamic;
95ALTER TABLE oc_calendars ROW_FORMAT=Dynamic;
96ALTER TABLE oc_calendarobjects ROW_FORMAT=Dynamic;
97ALTER TABLE oc_jobs ROW_FORMAT=Dynamic;
98ALTER TABLE oc_circles_mount ROW_FORMAT=Dynamic;
99ALTER TABLE oc_schedulingobjects ROW_FORMAT=Dynamic;
100ALTER TABLE oc_talk_internalsignaling ROW_FORMAT=Dynamic;
101ALTER TABLE oc_accounts ROW_FORMAT=Dynamic;
102ALTER TABLE oc_circles_event ROW_FORMAT=Dynamic;
103ALTER TABLE oc_dav_shares ROW_FORMAT=Dynamic;
104ALTER TABLE oc_user_transfer_owner ROW_FORMAT=Dynamic;
105ALTER TABLE oc_activity ROW_FORMAT=Dynamic;
106ALTER TABLE oc_mail_messages ROW_FORMAT=Dynamic;
107ALTER TABLE oc_mail_mailboxes ROW_FORMAT=Dynamic;
108ALTER TABLE oc_activity_mq ROW_FORMAT=Dynamic;
109ALTER TABLE oc_files_trash ROW_FORMAT=Dynamic;
110ALTER TABLE oc_mail_message_tags ROW_FORMAT=Dynamic;
111ALTER TABLE oc_polls_polls ROW_FORMAT=Dynamic;
112ALTER TABLE oc_notifications ROW_FORMAT=Dynamic;
113ALTER TABLE oc_collres_accesscache ROW_FORMAT=Dynamic;
114ALTER TABLE oc_trusted_servers ROW_FORMAT=Dynamic;
115ALTER TABLE oc_collres_collections ROW_FORMAT=Dynamic;
116ALTER TABLE oc_polls_preferences ROW_FORMAT=Dynamic;
117ALTER TABLE oc_share_external ROW_FORMAT=Dynamic;
118ALTER TABLE oc_user_status ROW_FORMAT=Dynamic;
119ALTER TABLE oc_authorized_groups ROW_FORMAT=Dynamic;
120ALTER TABLE oc_twofactor_totp_secrets ROW_FORMAT=Dynamic;
121ALTER TABLE oc_mail_aliases ROW_FORMAT=Dynamic;
122ALTER TABLE oc_privacy_admins ROW_FORMAT=Dynamic;
123ALTER TABLE oc_addressbooks ROW_FORMAT=Dynamic;
Die Warnung ist daraufhin verschwunden: