I recently tried to migrate my database backup strategy to portabase. It has a (c)lean interface and can handle the most common database types (postgres, mysql/mariadb but also mongodb or redis).
While setting up things looked promising (once you configured the agent it regularly checks connections using the provided credentials and shows the results).
This worked quite well for a few weeks, but then things changed overnight: While all checks still showed “green”, the backup of certain mysql/mariadb databases started to fail. Postgres backups worked fine and even some of the mysql/mariadb backups did what was expected.
However three of them kept failing their backup. The agent log of one of the backup reports looks like this:
linux # cat /var/log/app/app.log.2026-07-01
<...>
2026-07-01T02:40:00 ERROR Backup failed: MySQL backup failed for Open Build Service: -- Connecting to obs-mariadb...
Warning: Could not set terminology mode for outputting events.
-- Starting transaction...
-- Setting savepoint...
-- Retrieving table structure for table active_storage_attachments...
-- Sending SELECT query...
-- Retrieving rows...
mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"') FROM information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = 'obs_api_production' AND TABLE_NAME = 'active_storage_attachments';': Unknown table 'COLUMN_STATISTICS' in information_schema (1109)
<...>
So it seems that “COLUMN_STATISTICS” isn’t there – but why?
Looks like the “COLUMN_STATISTICS” was introduced with mysql 8.0 and newer mysqldump tools seem to expect this table by default.
However most of my “mysql” databases are mariadb instances instead, and mariadb doesn’t provide this table (at least not by default).
So two ways to go from here:
- Try to find a way to disable that requirement during backup, or
- Try to get that table into mariadb
For now I went for the (easier) option “disable requirement”:
Looks like mysqldump has an option --column-statistics=0, that will disable reading the missing table. However I couldn’t find a (documented) option to add options to portabase’s backup calls.
But mysql* tools can still be configured using config files, so adding this to the existing portabase agent’s config does the trick:
linux # vi /etc/mysql/conf.d/mysqldump.cnf
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
# Mod: Allow backup of older mysql versions
column-statistics=0
Happy backup!
