MySQL資料庫與C#本地端和遠端同步

MySQL資料庫與C#本地端和遠端同步

我在這裡發布這個問題是因為它比c#更多是mysql問題,我編寫了一些軟體,在第一次啟動時運行mysql的本地實例,現在一旦mysql啟動,我想同步遠端資料庫表之間的數據以及軟體運行的本地資料庫表(它不應該同步任何其他資料庫/表,因為有很多)。

我有複製設置,可以將整個資料庫同步到另一台伺服器,該伺服器可以工作,除非伺服器宕機,否則它永遠不會恢復,因此基於此,我認為複製不會工作,因為當軟體關閉時,它也會關閉MySQL。

那麼同步遠端和本地資料庫的最佳方法是什麼?

答案1

您可以透過調整逾時並重新發出「STOP SLAVE」和「START SLAVE」命令來使 MySQL 主/從複製正常運作。在slave設定檔中,您可以將slave-net-timeout設定為認為連線已中斷的秒數,並將master-connect-retry設定為在嘗試重新連線之間應暫停的秒數。兩者均設定為 86400 秒,即 1 天。例如,您可以嘗試這樣 30 秒:

slave-net-timeout = 30
master-connect-retry = 30

另一種方法是嘗試類似的解決方案SymmetricDS 資料庫同步或鎢。我曾在網路緩慢甚至有時不可用的情況下使用 SymmetricDS,並且它會自動恢復。它可以作為獨立的複製伺服器運行,也可以嵌入應用程式並由應用程式控制。

相關內容