Mysql
 sql >> база данни >  >> RDS >> Mysql

Как мога да синхронизирам две MySQL таблици, които имат еднакви структури и различен сървър

Има няколко опции. Единият е да настроите репликация в MySQL, който автоматично ще копира данни напред-назад между сървърите и ще ги поддържа автоматично синхронизирани, с детайлност от няколко секунди, докато данните летят наоколо. Недостатъкът е, че трябва да изложите поне главния сървър към мрежата, за да позволите TCP връзки.

Външно можете да правите обикновени mysqldumps на сървър А, да копирате на сървър Б, да заредите в mysql и да тръгнете. Това ще има детайлност на всеки интервал от време, в който стартирате последователността dump/copy/load. Недостатъкът е, че mysqldump заключва таблици, докато работи. Ако имате голяма база данни, ще бъдете блокирани от таблиците на serverA, докато дъмпът напредва, и ще бъдете блокирани от сървър B, когато данните се заредят. И зареждането на дъмпа е много по-бавно от извеждането на дъмпа на първо място, тъй като mysql извършва всички видове вътрешно домакинство (актуализации на ключове, актуализации на метаданни на таблицата и т.н.) по време на зареждането.

За третата опция можете да напишете синхронизатор, който сравнява редове между двете бази данни и прави актуализации, ако е необходимо. Тогава обаче прехвърляте съдържанието на един сървър към другия и извършвате операции ред по ред. Плюс това, че трябва да се справяте с всякакви зависими актуализации на връзката външен ключ/подчинено, и това ще стане сложно в бързината. В този момент може да е по-добре да използвате опцията mysqldump вместо това.

Разбира се, трябва да надстроите MySQL до нещо по-модерно. v4.x е много остарял. Трябва да използвате поне версия 5.0, за предпочитане версия 5.1.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Тип данни за съхраняване на дължина/ширина в Mysql

  2. Интегриране на изображение с jQuery AutoComplete

  3. Изхвърлете всички съхранени процедури в MySQL или използвайте временни съхранени процедури

  4. Как да направя друга колона за автоматично увеличение на MySQL?

  5. Изчисляване на общата продължителност на времето в MySQL