Resolving excessive binlog growth on mysql 8.4 xtradb cluster

TL;DR: Are binlogs required on mysql 8.4 xtradb cluster? And if so, what are my options for limiting excessive binlog growth without risking the cluster health? What are the impacts of disabling them?

I have a 3-node mysql 8.4 xtradb cluster with the following binlog settings on each node:

# Binary log expiration period is 604800 seconds, which equals 7 days
binlog_expire_logs_seconds=604800

# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW

The binlogs have grown to 63GB on each node for a relatively small set of databases (<10GB) and traffic.

I’ve seen statements that binlogs are not necessary with respect to galera on mysql 5.7, but is that also true for 8.4?

I know they are used for xtrabackup, but I don’t use xtrabackup on this cluster–just mysqldump scripts + Veeam.

Hi jtlarson,

Binlogs are not needed by PXC. PXC uses gcache (galera cache) for syncing with the other nodes

You only need binlogs if you need to do async replication or PITR (point in time recovery) after restoring a backup.

Thus, you can disable binlogs entirely or modifying binlog_row_image : https://dev.mysql.com/doc/refman/8.4/en/replication-options-binary-log.html#sysvar_binlog_row_image

Last:

The binlogs have grown to 63GB on each node for a relatively small set of databases (<10GB) and traffic.

The size of the binlogs will depend on the write workload of the server, not on the current database size

Regards