2

I'm currently experiencing some sync-issues on my MariaDB Galera Cluster which is a master-master scenario. I've got everything set up properly and the cluster is syncing the DDL changes flawless.

The output of the DB-Parameters seems right because every relevant variable is correct (both nodes are: ready, have the same sync-state and no errors are detected).

I made the check by creating a table and checking if it's syncing to the other node - after that i did it backwards. Everything works except the syncing of the data from the first node to the second.

Is there a way to initiate tis sync-process manually? Might there be a log-file which i oversaw?

Best Regards k

2
  • Are your tables MyISAM/Aria or InnoDB?
    – jynus
    Commented Apr 6, 2015 at 20:18
  • I'm using Aria for every table.
    – async
    Commented Apr 6, 2015 at 20:27

2 Answers 2

1

Galera only supports the InnoDB ENGINE (and XtraDB, which is essentially the same). While there is experimental support for MyISAM, by activating wsrep_replicate_myisam, that is not guaranteed to work, as it is not transactional.

The DDL that you executed worked because they do not use the ROW format, but STATEMENT-based replication.

While we could hack and maybe make it work, it would work poorly. I highly recommend you to change the tables to InnoDB: ALTER TABLE your_table ENGINE=InnoDB, FORCE; After that, any change will be synced automatically as desired.

References:

1
  • 1
    Thank you for this very helpful answer. I converted the tables to InnoDB (a script for generating the command for each table can be found on SO) and exported the whole database. Then I dropped everything and restored the database to transfer every INSERT command to the second node. Now i have a running galera Cluster, thank you very much! k
    – async
    Commented Apr 7, 2015 at 11:14
0

Because I've lost quite a lot of time finding my problem, and the only searches lead me to this question.

I'll post my issue that had same symptoms - db structure was synced, but no data was showing on the other nodes, except the one I made inserts on.

Turned out that my mysqld had log-bin enabled - set server-id, log-bin file and some other log bin options.

When I turned off the log-bin options on all nodes the data started showing everywhere. I suspect enabling https://mariadb.com/kb/en/replication-and-binary-log-system-variables/#log_slave_updates would have solved the issue, but I don't need it anyway, so I just disabled it. I hope that helps someone to save some time.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.