我已经发布了这里作为它的更多的MySQL问题比C#,我已经写了一些软件,运行本地实例的MySQL,当它第一次启动,现在一旦MySQL上来我想同步远程数据库表和软件运行的本地数据库表(它不应该同步任何其他数据库/表,因为有很多)。
我有复制设置同步整个数据库到另一台服务器的工作,除非服务器宕机,然后永远不会回来,所以基于这一点,我不认为复制将工作,因为当软件closures它也closuresMySQL。
那么同步远程数据库和本地数据库的最佳方法是什么?
您可以通过调整超时并重新发出“STOP SLAVE”和“START SLAVE”命令来使MySQL主/从复制工作。 在slaveconfiguration文件中,您可以将slave-net-timeout设置为断开连接的秒数,并将master-connect-retry设置为在尝试重新连接之间应暂停的秒数。 两者都设置为86400秒,或1天。 例如,你可能会尝试30秒这样的:
slave-net-timeout = 30 master-connect-retry = 30
另一种方法是尝试像SymmetricDS数据库同步或钨的解决scheme。 在networking速度慢甚至不可用的情况下,我使用了SymmetricDS,并且它自动恢复。 它可以作为独立的复制服务器运行,也可以从应用程序embedded和控制。