Nach dem Upgrade von Nextcloud 30.10 auf 31.02 gab es diesen Hinsweis.
Falsches Zeilenformat in deiner Datenbank gefunden.
ROW_FORMAT=Dynamic bietet die beste Datenbankleistung für Nextcloud. Bitte aktualisiere das Zeilenformat in der folgenden Liste: oc_mail_trusted_senders, oc_calendar_reminders, oc_music_cache, oc_deck_assigned_labels, oc_comments_read_markers, oc_group_user, oc_deck_cards, oc_group_folders_groups, oc_calendar_appt_bookings, oc_deck_attachment, oc_richdocuments_assets, oc_polls_options, oc_deck_labels, oc_calendarchanges, oc_recent_contact, oc_vcategory_to_object, oc_mail_mailboxes, oc_music_playlists, oc_user_status, oc_forms_v2_options, oc_authorized_groups, oc_filecache, oc_groups, oc_tsp_polls, oc_circle_tokens, oc_calendarobjects, oc_group_folders_manage, oc_direct_edit, oc_login_flow_v2, oc_circle_circles, oc_collres_collections, oc_calendar_rooms, oc_storages_credentials, oc_deck_assigned_users, oc_richdocuments_template, oc_comments, oc_forms_v2_questions, oc_collectives_pages, oc_twofactor_backupcodes, oc_announcements_map, oc_mimetypes, oc_circle_links, oc_appointments_pref, oc_user_transfer_owner, oc_deck_board_acl, oc_talk_commands, oc_share, oc_circle_gsshares, oc_music_ampache_users, oc_calendar_rooms_md, oc_preferences, oc_authtoken, oc_ratelimit_entries, oc_forms_v2_submissions, oc_mail_coll_addresses, oc_circle_clouds, oc_notifications_pushhash, oc_flow_checks, oc_activity_mq, oc_music_bookmarks, oc_text_sessions, oc_polls_watch, oc_announcements, oc_richdocuments_wopi, oc_dav_cal_proxy, oc_profile_config, oc_users, oc_files_trash, oc_calendars, oc_mail_aliases, oc_migrations, oc_addressbooks, oc_mail_accounts, oc_systemtag, oc_circle_gsshares_mp, oc_text_steps, oc_calendarobjects_props, oc_collectives, oc_privacy_admins, oc_accounts, oc_polls_preferences, oc_mail_classifiers, oc_systemtag_object_mapping, oc_calendar_appt_configs, oc_circle_members, oc_talk_attendees, oc_music_podcast_channels, oc_notifications, oc_oauth2_access_tokens, oc_polls_notif, oc_polls_votes, oc_file_locks, oc_text_documents, oc_mail_messages, oc_schedulingobjects, oc_music_artists, oc_calendar_resources, oc_music_ampache_sessions, oc_richdocuments_direct, oc_talk_bridges, oc_mail_attachments, oc_notes_meta, oc_circle_shares, oc_polls_comments, oc_collres_resources, oc_tsp_votes, oc_trusted_servers, oc_dav_shares, oc_deck_boards, oc_group_folders, oc_known_users, oc_calendar_resources_md, oc_music_podcast_episodes, oc_mail_recipients, oc_oauth2_clients, oc_talk_internalsignaling, oc_accounts_data, oc_mounts, oc_circle_groups, oc_federated_reshares, oc_forms_v2_answers, oc_storages, oc_webauthn, oc_deck_stacks, oc_polls_log, oc_calendar_invitations, oc_talk_sessions, oc_music_genres, oc_share_external, oc_properties, oc_forms_v2_forms, oc_collres_accesscache, oc_group_folders_trash, oc_appconfig, oc_music_tracks, oc_talk_rooms, oc_bruteforce_attempts, oc_cards_properties, oc_twofactor_providers, oc_circle_gsevents, oc_notifications_settings, oc_music_radio_stations, oc_cards, oc_polls_share, oc_vcategory, oc_filecache_extended, oc_addressbookchanges, oc_flow_operations, oc_group_admin, oc_jobs, oc_music_albums, oc_polls_polls, oc_whats_new, oc_flow_operations_scope, oc_systemtag_group, oc_appointments_hash, oc_calendarsubscriptions, oc_directlink, oc_activity, oc_group_folders_acl. Weitere Informationen findest du in der Dokumentation ↗.
Achtung: welche Zeilen bei dir betroffen sind muss du wissen, dies soll nur ein exemplarisches Beispiel sein.
Hier die Lösung um die Zeilenformate zu ändern.
Es sind nur 5 Schritte.
Schritt 1: Backup deiner Datenbank
mariadb-dump --all-databases > all-databases.sql
Schritt 2: Wartungsmodus an machen
sudo -u www.data php /var/www/nextcloud/occ maintenance:mode --on
Schritt 3: in die Datenbank einloggen
mysql -u dein_datenbankuser -p
Schritt 4: Das Zeilenformt für die Zeilen ändern
Formal geht das mit USE db_name ALTER TABLE oc_zeile ROW_FORMAT = DYNAMIC;
Bei SQL und MariaDB wird mit ";" das Ende des Befehls angezeigt, Du kannst es entweder Zeilenweise wie hier im Bsp. angeben, oder hinter einander weg.
Denk daran, deine Zeilennamen können andere sein. Nicht einfach Copy&Pasten! Benutze ein Editor und die Funktion Suchen & Ersetzen ",", das wird helfen.
USE dein_datenbankname;
ALTER TABLE oc_mail_trusted_senders ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_calendar_reminders ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_music_cache ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_deck_assigned_labels ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_comments_read_markers ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_group_user ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_deck_cards ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_group_folders_groups ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_calendar_appt_bookings ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_deck_attachment ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_richdocuments_assets ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_polls_options ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_deck_labels ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_calendarchanges ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_recent_contact ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_vcategory_to_object ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_mail_mailboxes ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_music_playlists ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_user_status ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_forms_v2_options ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_authorized_groups ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_filecache ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_groups ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_tsp_polls ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_circle_tokens ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_calendarobjects ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_group_folders_manage ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_direct_edit ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_login_flow_v2 ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_circle_circles ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_collres_collections ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_calendar_rooms ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_storages_credentials ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_deck_assigned_users ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_richdocuments_template ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_comments ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_forms_v2_questions ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_collectives_pages ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_twofactor_backupcodes ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_announcements_map ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_mimetypes ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_circle_links ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_appointments_pref ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_user_transfer_owner ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_deck_board_acl ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_talk_commands ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_share ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_circle_gsshares ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_music_ampache_users ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_calendar_rooms_md ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_preferences ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_authtoken ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_ratelimit_entries ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_forms_v2_submissions ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_mail_coll_addresses ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_circle_clouds ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_notifications_pushhash ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_flow_checks ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_activity_mq ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_music_bookmarks ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_text_sessions ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_polls_watch ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_announcements ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_richdocuments_wopi ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_dav_cal_proxy ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_profile_config ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_users ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_files_trash ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_calendars ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_mail_aliases ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_migrations ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_addressbooks ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_mail_accounts ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_systemtag ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_circle_gsshares_mp ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_text_steps ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_calendarobjects_props ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_collectives ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_privacy_admins ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_accounts ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_polls_preferences ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_mail_classifiers ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_systemtag_object_mapping ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_calendar_appt_configs ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_circle_members ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_talk_attendees ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_music_podcast_channels ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_notifications ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_oauth2_access_tokens ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_polls_notif ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_polls_votes ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_file_locks ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_text_documents ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_mail_messages ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_schedulingobjects ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_music_artists ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_calendar_resources ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_music_ampache_sessions ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_richdocuments_direct ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_talk_bridges ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_mail_attachments ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_notes_meta ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_circle_shares ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_polls_comments ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_collres_resources ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_tsp_votes ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_trusted_servers ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_dav_shares ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_deck_boards ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_group_folders ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_known_users ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_calendar_resources_md ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_music_podcast_episodes ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_mail_recipients ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_oauth2_clients ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_talk_internalsignaling ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_accounts_data ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_mounts ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_circle_groups ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_federated_reshares ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_forms_v2_answers ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_storages ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_webauthn ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_deck_stacks ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_polls_log ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_calendar_invitations ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_talk_sessions ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_music_genres ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_share_external ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_properties ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_forms_v2_forms ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_collres_accesscache ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_group_folders_trash ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_appconfig ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_music_tracks ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_talk_rooms ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_bruteforce_attempts ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_cards_properties ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_twofactor_providers ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_circle_gsevents ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_notifications_settings ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_music_radio_stations ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_cards ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_polls_share ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_vcategory ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_filecache_extended ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_addressbookchanges ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_flow_operations ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_group_admin ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_jobs ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_music_albums ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_polls_polls ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_whats_new ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_flow_operations_scope ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_systemtag_group ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_appointments_hash ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_calendarsubscriptions ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_directlink ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_activity ROW_FORMAT = DYNAMIC;
ALTER TABLE oc_group_folders_acl ROW_FORMAT = DYNAMIC;
Das müsste so automatisch durchlaufen.
Wenn keine Fehler auftauchen, kannst du mysql> mit exit verlassen.
Schritt 5: Wartungsmodus aus machen
sudo -u www.data php /var/www/nextcloud/occ maintenance:mode --off