Nextcloud 31: Incorrect row format message still showing after updating database

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • 31.0.6
  • Operating system and version (e.g., Ubuntu 24.04):
    • Debian 11
  • Web server and version (e.g, Apache 2.4.25):
    • ? (hosted server)
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • ? (hosted server)
  • PHP version (e.g, 8.3):
    • 8.2
  • Is this the first time you’ve seen this error? (Yes / No):
    • yes
  • When did this problem seem to first start?
    • after upgrading step-by-step from 29.0.7.1 > 29.0.16.1 > 30.0.12.2 > 31.0.6
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • upgrade using the web UI
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • no

Summary of the issue you are facing:

(NB: this is on a hosted server, so I do not have root access)

After upgrading and checking the status in Admin> Overview, I got the warning
“Incorrect row format found in your database. ROW_FORMAT=Dynamic offers the best database performances for Nextcloud. Please update row format on the following list […]” (followed by a long list of table names) like many others got (e.g. Upgrade to Nextcloud Hub 10 (31.0.0) Incorrect row format found in your database).

So I followed the instructions in that post (also easier to read here) to alter the row format to “DYNAMIC” using SQL on phpMyAdmin (the database uses MySQL 5.7) and believe I succeeded since

SELECT table_name, row_format FROM information_schema.tables WHERE table_schema = 'nextcloud' AND row_format <> 'DYNAMIC'

returns empty.

Unfortunately, after doing all this I still get the same warning, with the same number of table names.

Steps to replicate it (hint: details matter!):

  1. Update the versions as indicated above
  2. Open Administration > Overview
  3. Notice the long warning “Incorrect row format found in your database. ROW_FORMAT=Dynamic offers the best database performances for Nextcloud. Please update row format on the following list…”
  4. Update the row format for all tables, using a long SQL query with individual lines such as ALTER TABLE `oc_accounts` ROW_FORMAT=DYNAMIC;
  5. Reload Administration > Overview
  6. Same warnings as in step #3

Log entries

Nextcloud

After the upgrade log is completely empty, zero bytes

One possibility is the case of the table_schema.

Other possibilities include a bug. MySQL 5.7 reached end-of-life awhile ago. What specific version is it?

You can see the specific query used by the setup check here:

1 Like

MySQL 5.7 reached end-of-life awhile ago

THAT was the bit I was missing - I was looking at the wrong (old) database! :blush:
Now that I have run the SQL queries on the proper (new) database (which uses MariaDB 10.6) everything is fine again.

Thank you very much!