我們都知道數據庫很注重安全,那如果數據庫崩了怎么辦?
那就使用主從復制,即復制一個數據庫,以備不時之需。同時實現了讀寫分離,提高效率
那這個過程是如何實現的,網上有很多教程,我簡單說一下個人理解:
1.主數據庫在執行sql語句時,開啟復制bin-log二進制日志文件的線程到從數據庫
2.從數據庫拿到bin-log日志文件進行讀取並寫入到自己的relay-log
3.從數據庫繼續根據relay-log進行逆向寫入數據庫,實現復制
(主要過程點到就好,如有寫的不對的地方,請指正!)
那在這個過程中,起到至關重要的莫過於bin-log這個二進制文件,用過truncate的都知道,這是不記錄在這個日志文件里面的
那問題來了,如果主數據庫使用了truncate,要實現主從復制,會有什么問題呢?這種問題應該如何解決?
我的想法是:在這個過程中會遇到duplicate關鍵字提示錯誤,需要人工查看日志並手動刪除。
不知大家的想法是什么樣的?
