Dwa terminy, których szukasz, to „replikacja " lub "ETL".
Po pierwsze, podejście do replikacji.
Załóżmy, że Twój serwer administracyjny ma tabele T1, T2, T3, a serwer publiczny ma tabele TP1, TP2.
Więc to, co chcesz zrobić (ponieważ masz różne struktury tabel, jak powiedziałeś), to:
-
Weź tabele z serwera publicznego i utwórz ich dokładne kopie na serwerze administracyjnym (TP1 i TP2).
-
Utwórz wyzwalacz w oryginalnych tabelach serwera administracyjnego, aby wypełnić dane z T1/T2/T3 w kopii serwera administracyjnego TP1/TP2.
-
Będziesz także musiał wykonać wstępne wypełnienie danych z T1/T2/T3 do kopii serwera administracyjnego TP1/TP2. Tak.
-
Skonfiguruj „replikację " z TP1/TP2 serwera administracyjnego na TP1/TP2 serwera publicznego
Innym podejściem jest napisanie programu (takie programy nazywają się ETL - Extract-Transform-Load), który wypakuje dane z T1/T2/T3 na serwer administracyjny (część „E” w „ETL”), przesunie dane do formatu odpowiedniego do załadowania do tabel TP1/TP2 (część "T" "ETL"), przenieś (przez ftp/scp/whatnot) te pliki na serwer publiczny i drugą połowę programu ("L") część załaduje pliki do tabel TP1/TP2 na serwerze publicznym. Obie części programu zostałyby uruchomione przez cron
lub wybrany przez Ciebie harmonogram.
Jest artykuł z bardzo dobrym przykładem, jak rozpocząć tworzenie ETL Perla/MySQL:http://oreilly.com/pub/a/databases/2007/04/12/budowanie-magazynu-danych -with-mysql-and-perl.html?page=2
Jeśli wolisz nie tworzyć własnych, oto lista systemów ETL typu open source, nigdy żadnego z nich nie używałem, więc nie ma opinii na temat ich użyteczności/jakości:http://www.manageability.org/blog/stuff/open-source-etl