Navicat Premium是一個可連接多種數據庫的管理工具,它可以讓你以單一程序同時連接到MySQL、Oracle及PostgreSQL數據庫,讓管理不同類型的數據庫更加的方便。
與同步不同,同步是一個一次性的過程,它使兩個數據庫的模式和數據同步,複製是一個連續(自動)在兩個數據庫之間複製數據的過程(儘管模式更新也是可能的)。複製可以異步進行,這樣就不需要在兩個數據庫之間建立永久連接,或者在非高峰時間(例如,在深夜,數據庫服務器上的通信量很少)進行復制。
複製的主要作用是創建所有用戶數據庫的合併存儲庫和/或在所有用戶之間傳播相同級別的信息。在這兩種情況下,結果都是一個分佈式數據庫,在該數據庫中,用戶可以訪問與其任務相關的數據,而不會干擾其他人的工作。為了消除用戶之間的數據模糊性或不一致性而實現的數據庫複製稱為規範化。
這篇文章將介紹如何使用Navicat Premium的新自動化實用程序自動執行數據庫複製。
快照複製
如上所述,快照複製通過將數據從一個數據庫複製到同一個或不同服務器上的另一個數據庫,使兩個數據庫保持同步。這是三種類型中最簡單的一種。
創建數據同步作業
必須首先創建數據同步配置文件,以便將其作為複製過程自動化。在數據庫同步策略白皮書中描述了在Navicat Premium 12中實現同質和異構同步的步驟。為了本教程的目的,我們將使用第一個示例來同步Sakila和Sakila2數據庫。
提示:一旦創建了Sakila數據庫,您可以通過右鍵單擊導航窗格中的連接並選擇新建數據庫來創建Sakila2數據庫。然後在彈出窗口中輸入數據庫名稱(“sakila2”)。
要打開數據同步嚮導:
從菜單欄中選擇Tools -> Data Synchronization。
"Data Synchronization Options”選項卡僅包含幾個比較選項複選框。我們可以保持原樣:
數據同步嚮導的下一步是映射表。可以通過下拉列表選擇目標表。在這種情況下,我們不需要提供任何映射指令,因為兩個數據庫中的表是相同的:
比較數據後,窗口顯示將在目標表中插入、更新或刪除的記錄數。如果不想包括具有相同數據的表或具有不同結構的表,也就是說,不更新的表,可以取消選中“Show identical table and others”選項。還有一些複選框可以取消選擇表或不希望應用於目標的操作。
在列表中選擇一個表將在底部窗格中顯示源表和目標表的數據。源和目標之間不同的值將突出顯示。在頂部窗格中,可以取消選中不希望應用於目標的記錄。
差異選項
可以從下拉列表中選擇要顯示的差異類型。以下是可能的選項:
- Difference:顯示源表和目標表中不同的所有記錄。
- Insert:只顯示目標表中不存在的記錄。
- Update:只顯示在具有不同值的源表和目標表中存在的記錄。
- Delete:只顯示源表中不存在的記錄。
- Same:顯示源表和目標表中具有相同值的記錄。
- All Rows:顯示源表和目標表中的所有記錄。
在我們的例子中,選擇“Update”或“Same”將顯示零行,因為沒有要更新的行(僅插入),並且沒有相同的行:
與之前一樣,單擊Deploy按鈕生成並顯示部署腳本:
與以前的屏幕一樣,此屏幕包含一個“Save Profile”按鈕,允許您保存設置以備將來使用。此特定屏幕還具有一個按鈕,用於保存部署腳本。
您仍然可以重新編譯這兩個數據庫,或者繼續執行部署腳本。有一個複選框用於出錯時繼續,以便在遇到錯誤時不停止部署。
當腳本執行時,您可以在消息日誌中查看其進度。它顯示處理的記錄數和完成的百分比:
關閉對話框後,我們可以確認sakila2數據庫表現在包含數據:
不要忘記保存配置文件,因為批處理作業將使用它。
↓↓↓
閱讀更多 慧都科技 的文章