How can I keep two databases on different sites in sync?
Replication was made for small changes, so you're on the right track.
To keep the systems in sync, at the database level, you will need to setup a mysql master-master replication scenario.
I've used the tutorial from this linke (http://howtodba.com/how-to-build-a-cheap-web-cluster-with-replicated-storage-and-mysql-master-master-configuration/), to setup such configuration.
Depending on how much data is changed, you can choose between [statement] or [row-based] replication.
More info about the differences between the 2 types: http://www.databasejournal.com/features/mysql/article.php/3922266/Comparing-MySQL-Statement-Based-and-Row-Based-Replication.htm