Двата термина, които търсите, са или "репликация " или "ETL".
Първо, подход за репликация.
Да предположим, че вашият администраторски сървър има таблици T1, T2, T3, а вашият публичен сървър има таблици TP1, TP2.
И така, това, което искате да направите (тъй като имате различни структури на таблицата, както казахте), е:
-
Вземете таблиците от публичен сървър и създайте точни копия на тези таблици на администраторския сървър (TP1 и TP2).
-
Създайте тригер в оригиналните таблици на администраторския сървър, за да попълните данните от T1/T2/T3 в копието на TP1/TP2 на администраторския сървър.
-
Ще трябва също да направите първоначално попълване на данни от T1/T2/T3 в копието на TP1/TP2 на сървъра на администратора. Да.
-
Настройте "репликация " от 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