mysql 两个数据库指定表同步_mysql从2个数据库中同步两个表
我無法相信你沒有找到合適的腳本來做到這一點.根據服務器到服務器的帶寬和連接以及表數據大小,您可以:
>直接轉移整個表:
mysqldump [options] sourcedatabase tablename \
| mysql [options] --host remoteserver --user username ...
>使用MySQL壓縮傳輸表
# same as above, mysql has the "-C" flag
>使用SSH加密和壓縮進行傳輸; mysql是遠程執行的
mysqldump [options] sourcedatabase tablename \
| ssh -C user@remoteserver 'mysql [options]'
>使用中間SQL文件和rsync傳輸僅傳輸修改
mysqldump [options] sourcedb tbl > dump.sql
rsync [-z] dump.sql user@remoteserver:/path/to/remote/dump.sql
ssh user@remoteserver "mysql [options] < /path/to/remote/dump.sql"
以上都是簡單的表覆蓋,遠程數據是LOST并由主副本替換. mysqldump-plus-rsync-plus-ssh的運行時間大致與修改成比例,這意味著如果你有一個10 GB的SQL轉儲并添加了十幾個INSERTS,那么傳輸階段最多需要幾秒鐘來同步兩個SQL文件.
要優化插入階段,要么進行完整的MySQL復制,要么需要一種方法來識別表上的操作,以便在同步時手動復制它們.這可能需要改變表結構,例如,添加“last-synced-on”和“needs-deletion”列,甚至引入輔助表.
總結
以上是生活随笔為你收集整理的mysql 两个数据库指定表同步_mysql从2个数据库中同步两个表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql select from us
- 下一篇: python方格染色_判定二部图的着色算