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

Perl:Как да копирам/огледаме отдалечени MYSQL таблици в друга база данни? Вероятно и различна структура?

Двата термина, които търсите, са или "репликация " или "ETL".

Първо, подход за репликация.

Да предположим, че вашият администраторски сървър има таблици T1, T2, T3, а вашият публичен сървър има таблици TP1, TP2.

И така, това, което искате да направите (тъй като имате различни структури на таблицата, както казахте), е:

  1. Вземете таблиците от публичен сървър и създайте точни копия на тези таблици на администраторския сървър (TP1 и TP2).

  2. Създайте тригер в оригиналните таблици на администраторския сървър, за да попълните данните от T1/T2/T3 в копието на TP1/TP2 на администраторския сървър.

  3. Ще трябва също да направите първоначално попълване на данни от T1/T2/T3 в копието на TP1/TP2 на сървъра на администратора. Да.

  4. Настройте "репликация " от TP1/TP2 на администраторския сървър към TP1/TP2 на публичния сървър

Различен подход е да се напише програма (такива програми се наричат ​​ETL - Extract-Transform-Load), която ще извлече данните от T1/T2/T3 на администраторския сървър („E“ част от „ETL“), ще масажира данните във формат, подходящ за зареждане в TP1/TP2 таблици („T“ част от „ETL“), прехвърляне (чрез ftp/scp/whatnot) тези файлове на публичен сървър и втората половина на програмата („L“) част ще зареди файловете в таблиците TP1/TP2 на публичен сървър. И двете половини на програмата ще бъдат стартирани от cron или вашият график по избор.

Има статия с много добър пример как да започнете да изграждате Perl/MySQL ETL:http://oreilly.com/pub/a/databases/2007/04/12/building-a-data-warehouse -with-mysql-and-perl.html?page=2

Ако предпочитате да не създавате свои собствени, ето списък на ETL системи с отворен код, които никога не са използвали нито една от тях, така че няма мнения относно тяхната използваемост/качество:http://www.manageability.org/blog/stuff/open-source-etl



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Опит за актуализиране на запис с PDO

  2. MYSQL Workbench - ГРЕШКА:Грешка 1215:Не може да се добави ограничение за външен ключ

  3. CakePHP 3 времева колона получава добавена дата

  4. Как да създадете Facebook като приятели система в php с mysql

  5. Маркиране на клетка PHP с определен цвят въз основа на стойността на MYSQL