mariadb latest 10.5 I found seems to be 10.5.28
docker compose exec mysql-mailcow mariadb-upgrade -u root -p${DBROOT}
This installation of MariaDB is already upgraded to 10.5.11-MariaDB.
There is no need to run mysql_upgrade again for 10.5.28-MariaDB.
You can use --force if you still want to run mysql_upgrade
docker compose exec mysql-mailcow mariadb-upgrade -u root -p${DBROOT} --force
Phase 1/7: Checking and upgrading mysql database
Processing databases
mysql
mysql.column_stats OK
mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
mysql.global_priv OK
mysql.gtid_slave_pos OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.index_stats OK
mysql.innodb_index_stats OK
mysql.innodb_table_stats OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.servers OK
mysql.table_stats OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.transaction_registry OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
mailcow.grouped_domain_alias_address OK
mailcow.grouped_mail_aliases OK
mailcow.grouped_sender_acl OK
mailcow.grouped_sender_acl_external OK
mailcow.sieve_after OK
mailcow.sieve_before OK
mailcow.sogo_view OK
mysql.user OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
Processing databases
information_schema
mailcow
mailcow._sogo_static_view OK
mailcow.admin OK
mailcow.alias OK
mailcow.alias_domain OK
mailcow.api OK
mailcow.app_passwd OK
mailcow.bcc_maps OK
mailcow.da_acl OK
mailcow.da_sso OK
mailcow.domain OK
mailcow.domain_admins OK
mailcow.domain_wide_footer OK
mailcow.fido2 OK
mailcow.filterconf OK
mailcow.forwarding_hosts OK
mailcow.identity_provider OK
mailcow.imapsync OK
mailcow.logs OK
mailcow.mailbox OK
mailcow.oauth_access_tokens OK
mailcow.oauth_authorization_codes OK
mailcow.oauth_clients OK
mailcow.oauth_refresh_tokens OK
mailcow.pushover OK
mailcow.quarantine OK
mailcow.quota2 OK
mailcow.quota2replica OK
mailcow.recipient_maps OK
mailcow.relayhosts OK
mailcow.reset_password OK
mailcow.sasl_log OK
mailcow.sender_acl OK
mailcow.settingsmap OK
mailcow.sieve_filters OK
mailcow.sogo_acl OK
mailcow.sogo_admin OK
mailcow.sogo_alarms_folder OK
mailcow.sogo_cache_folder OK
mailcow.sogo_folder_info OK
mailcow.sogo_quick_appointment OK
mailcow.sogo_quick_contact OK
mailcow.sogo_sessions_folder OK
mailcow.sogo_store OK
mailcow.sogo_user_profile OK
mailcow.spamalias OK
mailcow.tags_domain OK
mailcow.tags_mailbox OK
mailcow.templates OK
mailcow.tfa OK
mailcow.tls_policy_override OK
mailcow.transports OK
mailcow.user_acl OK
mailcow.versions OK
performance_schema
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
But then with 10.11 I get the same error:
mysql-mailcow-1 | 2025-05-19 17:22:24 0 [Note] Starting MariaDB 10.11.11-MariaDB-ubu2204 source revision e69f8cae1a15e15b9e4f5e0f8497e1f17bdc81a4 server_uid wbPrloSeOHdXmT0RpV93nyCof2c= as process 1
mysql-mailcow-1 | 2025-05-19 17:22:24 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [Note] InnoDB: Number of transaction pools: 1
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [Warning] mariadbd: io_uring_queue_init() failed with errno 1
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [Warning] InnoDB: liburing disabled: falling back to innodb_use_native_aio=OFF
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [Note] InnoDB: Initializing buffer pool, total size = 24.000MiB, chunk size = 1.000MiB
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [Note] InnoDB: Completed initialization of buffer pool
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes)
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [ERROR] InnoDB: Upgrade after a crash is not supported. The redo log was created with MariaDB 10.5.11. You must start up and shut down MariaDB 10.7 or earlier.
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [Note] InnoDB: Starting shutdown...
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [ERROR] Unknown/unsupported storage engine: InnoDB
mysql-mailcow-1 | 2025-05-19 17:22:25 0 [ERROR] Aborting
Oh, I missed this one:
When I startup 10.5.28, I get this in the log:
mysql-mailcow-1 | 2025-05-19 17:25:26 0 [ERROR] mysqld: Table './mysql/global_priv' is marked as crashed and should be repaired
<SNIP>
mysql-mailcow-1 | 2025-05-19 17:25:26 0 [ERROR] mysqld: Table './mysql/tables_priv' is marked as crashed and should be repaired
Can tables actually and successfully be repaired? Never done this before.
Oh, I missed this one:
When I startup 10.5.28, I get this in the log:
mysql-mailcow-1 | 2025-05-19 17:25:26 0 [ERROR] mysqld: Table './mysql/global_priv' is marked as crashed and should be repaired
<SNIP>
mysql-mailcow-1 | 2025-05-19 17:25:26 0 [ERROR] mysqld: Table './mysql/tables_priv' is marked as crashed and should be repaired
Can tables actually and successfully be repaired? Never done this before.
Now I can see mariadb doing crash recovery when it starts up:
mysql-mailcow-1 | 2025-05-19 17:34:40 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=9184217,9184217
<snip>
mysql-mailcow-1 | 2025-05-19 17:34:41 0 [Note] InnoDB: Starting final batch to recover 338 pages from redo log.
mysql-mailcow-1 | 2025-05-19 17:34:41 0 [Note] InnoDB: 128 rollback segments are active.
<snip>
mysql-mailcow-1 | 2025-05-19 17:34:41 0 [Note] mysqld: ready for connections.
mysql-mailcow-1 | Version: '10.5.28-MariaDB-ubu2004' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution
Now I can see mariadb doing crash recovery when it starts up:
mysql-mailcow-1 | 2025-05-19 17:34:40 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=9184217,9184217
<snip>
mysql-mailcow-1 | 2025-05-19 17:34:41 0 [Note] InnoDB: Starting final batch to recover 338 pages from redo log.
mysql-mailcow-1 | 2025-05-19 17:34:41 0 [Note] InnoDB: 128 rollback segments are active.
<snip>
mysql-mailcow-1 | 2025-05-19 17:34:41 0 [Note] mysqld: ready for connections.
mysql-mailcow-1 | Version: '10.5.28-MariaDB-ubu2004' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution
But then, when I stop and restart mariadb 10.5.28, it’s doing crash recovery again