The most common issue when using row-based replication (RBR) is replication lag due to the lack of Primary keys.
The problem is that any replicated DML will do a full table scan for each modified row on the replica. This bug report explains it more in-depth: https://bugs.mysql.com/bug.php?id=53375
For example, if a delete is executed on the following table definition:
CREATE TABLE `joinit` ( `i` int NOT NULL, `s` varchar(64) DEFAULT NULL, `t` time NOT NULL, `g` int NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1
With this amount of rows:
mysql> select count(*) from joinit; +----------+ | count(*) | +----------+ | 1048576 | +----------+
The delete being:
mysql> flush status ; mysql> delete from joinit where i > 5 and i < 150; Query OK, 88 rows affected (0.04 sec) …[Read more]