While creating tables without primary keys is definitely a bad practice, there are third-party applications with their own schemas, and altering third party's schema by adding a primary key might turn out to be even worse then the decision to use such an application was (because we can't predict if and how it breaks the application the schema of which is altered and it can bring a maintenance burden that barely can be known upfront).
However, I need to host such an application and have a highly available database for it; the application requires a modern-ish MySQL, so MySQL, MariaDB, and Percona are on the table. I need to set up master-master replication within a datacenter and between datacenter with a single active master and others just standing by. From what I've been able to gather so far, Group Replication in MySQL, and Galera, which MariaDB and Persona rely on, all require the tables to have a primary key.
Is there a way to untangle this knot? Is there a way to set up a highly available MySQL-like database that would not require the primary keys for cases when changing the schema is highly undesirable, or this is rather impossible?
SHOW CREATE TABLE
for one of the tables without a PK.