compare two database data
因為工作上遇到 同一個項目被部署到不同服務器上,原項目(后統稱"源")在運行中,后部署的項目(后統稱"目標")也在運行中。需要源的mysql數據同步到目標的mysql上。
我的情況是數據庫的表結構是一樣的,是數據需要同步。
在 sqlyog 也可以通過ssh通道來連接mysql(和navicat for mysql用法一樣).
下面是我在網上找的sqlyog軟件並使用的,如果你懶得去再找,可以嘗試下面的分享連接來下載使用
鏈接: https://pan.baidu.com/s/1nZh1-EFqnZSMYL_k1v3Twg 提取碼: jcbu
前提: 兩個有相同表結構的數據庫的備份sql都導入到本地的mysql中
目標: 同步並生成對應的sql腳本,可以將這些sql腳本在 目標服務器的mysql中執行對比之后的sql腳本,達到同步數據的效果
我的操作步驟是: sqlyog的菜單欄 高級工具
-> 數據庫S 同步向導
- 彈出 向導的窗口,默認是
開始新工作
,點擊下一步
按鈕 - 選擇源和目標的數據庫,點擊
下一步
按鈕 - 進入
數據同步高級選項
,我選的是單向同步
並勾選不要在目標刪除額外的行
,點擊下一步
按鈕 - 進入
選擇想要同步的表
,我選的是在數據庫中同步所有表
,點擊下一步
按鈕 - 進入
你要如何執行同步?
頁,因為我是在本地導入了2個數據庫,需要將同步的sql導入到遠程上,所以選擇的是同步和生成腳本
,然后在給文件名
選擇存放sql的路徑,點擊下一步
按鈕 - 進入
錯誤處理
頁,我是全不勾選,點擊下一步
按鈕 - 進入
在定期間隔發送查詢結果
,我選擇的是立即運行
,點擊下一步
按鈕 - 進入到進行處理 同步操作了,等待執行完成,執行完成之后,
下一步
按鈕是啟用的了,點擊下一步
按鈕之后,會進入向導成功完成
頁,點擊完成
按鈕或者當前窗口的關閉按鈕就會關閉窗口了。
然后打開第5步保存的sql文件,看里面是否是有 INSERT
或者UPDATE
語句,如果有,將所有語句復制到遠程的 phpmyadmin中的目標數據庫中,執行對應的sql語句,就完成了數據同步操作了。