我有一個查詢。我在兩個不同的服務器上有兩個表。這兩個表具有相同的結構。一臺服務器上的主表每天都會更新,所以我想要一個cron作業或一個php腳本cron來更新另一臺服務器上的第二個從表。 我看過很多腳本,但沒有解決我的要求。mysql同步兩個數據庫中的兩個表
5
A
回答
7
我不相信你沒有找到合適的腳本來做到這一點。根據服務器到服務器的帶寬和連接,以及表中的數據大小,您可以:
直接傳輸整個表:
mysqldump [options] sourcedatabase tablename \ | mysql [options] --host remoteserver --user username ...
轉移表與MySQL壓縮
# same as above, mysql has the "-C" flag
使用SSH加密和壓縮傳輸; MySQL是使用中間SQL文件和rsync僅傳送修改
mysqldump [options] sourcedb tbl > dump.sql rsync [-z] dump.sql [email protected]:/path/to/remote/dump.sql ssh [email protected] "mysql [options] < /path/to/remote/dump.sql"
上面都是簡單的表重寫遠程
mysqldump [options] sourcedatabase tablename \
| ssh -C [email protected] 'mysql [options]'
轉移執行時,遠程數據丟失,由主置換複製。 mysqldump-plus-rsync-plus-ssh的運行時間大致與修改成正比,這意味着如果您有10-GB SQL轉儲並添加了十幾個INSERTS,則傳輸階段最多需要幾秒鐘才能同步兩個SQL文件。
爲了優化插入階段,您可以選擇完整的MySQL複製,或者您需要一種方法來識別表上的操作,以便在同步時手動複製它們。這可能需要改變表格結構,例如添加「最後同步」和「需要刪除」列,甚至引入輔助表。
1
您可以使用一個簡單的解決方案 - Data Synchronization tool在dbForge Studio for MySQL。
- 創建數據比較項目,將比較和同步兩個不同的MySQL服務器上的兩個表。
- 使用創建的數據比較項目文檔(* .dcomp文件)以命令行模式運行應用程序。
相關問題
- 1. 同步兩個mysql數據庫
- 2. 同步兩個數據庫
- 3. 同步來自兩個不同PostgreSQL數據庫的兩個表
- 4. 同步兩個數據庫表SQL Server
- 5. 的MySQL,同步兩個表
- 6. 如何實時同步兩個不同的mysql數據庫表?
- 7. 兩個數據庫之間的Mysql數據庫同步
- 8. 如何在mysql中同步兩個數據庫表PHP
- 9. 同步兩個MySQL表
- 10. 同步兩個mysql數據庫兩臺遠程機器
- 11. 同步兩個單獨的數據庫
- 12. 兩個數據庫的同步
- 13. 兩個數據庫之間的同步
- 14. 刪除後同步兩個數據庫表中的數據
- 15. 同步MySQL中的兩個表格
- 16. SQL Server:如何同步不同數據庫中的兩個表?
- 17. 同步兩個不同的mysql數據庫
- 18. 同步兩個SQL Server數據庫
- 19. SQL Server - 同步兩個數據庫
- 20. 同步兩個mongodb數據庫副本
- 21. 同步兩個數據庫模式
- 22. nHibernate同步兩個數據庫
- 23. 同步兩個Oracle數據庫
- 24. 如何同步兩個Oracle數據庫?
- 25. 相同數據庫的兩個SCHEMA MySQL
- 26. 在MySQL中同步兩個數據庫模式
- 27. 兩個Oracle數據庫表之間的同步數據
- 28. 使用C#同步兩個表在不同的數據庫
- 29. 如何同步Oracle數據庫中的兩個表?
- 30. PHP,MySQL:關於如何「同步」兩個數據庫的問題
更新以哪種方式?結構,數據,..應該如何更新,爲什麼很多腳本不能解決你的需求。你有什麼要求。 –
其mysql..its不關於結構..其數據不斷增加..我想要一個php cron工作做到這一點..但我不知道如何去以最簡單和最優化的方式。我不想從主表中選擇數據並循環它們,直到它們插入從表中。這需要太多時間。 – user1587161
所以我會很感激,如果IAM建議與一些優化的方式做它 – user1587161