MySQL Memory (HEAP) tables and replication


Well-known member
For those of you who use replication with more than 1 MySQL active server or even the cluster version of MySQL with your XenForo database: How do you handle the tables in default XenForo database which use "Memory" as their table engine?

We use a Galera powered replication cluster. As you know "memory" tables can't be reliably replicated (even in default Master > Slave replication).

What we currently do is to convert the Memory tables to InnoDB and also add a new auto-increment "id" field acting as the required primary key. However this is not a perfect solution and earns us frequent "Deadlock found" XenForo errors.

So may I ask how you handle those tables in your replication?

Best solution would be to move that data into Redis or memcached but this would require a massive add-on.