Some considerations must be taken into account for any active/active scenario:
For tables that use auto-increment, collisions are possible if two
hosts select the same
auto-increment
number. You can
reduce the effects by configuring each MySQL host with a different
auto-increment settings, changing the offset and the increment values.
For example, adding the following lines to your
my.cnf
file:
auto-increment-offset = 1
auto-increment-increment = 4
In this way, the increments can be staggered on each machine and collisions are unlikely to occur.
Use row-based replication. Update your configuration file to
explicitly use row-based replication by adding the following to your
my.cnf
file:
binlog-format = row
Beware of triggers. Triggers can cause problems during replication because if they are applied on the Replica as well as the Primary you can get data corruption and invalid data. Tungsten Cluster cannot prevent triggers from executing on a Replica, and in an active/active topology there is no sensible way to disable triggers. Instead, check at the trigger level whether you are executing on a Primary or Replica. For more information, see Section C.4.1, “Triggers”.