Os dois termos que você está procurando são "replication " ou "ETL".
Primeiro, a abordagem de replicação.
Vamos supor que seu servidor admin tenha as tabelas T1, T2, T3 e seu servidor público tenha as tabelas TP1, TP2.
Então, o que você quer fazer (já que você tem estruturas de tabela diferentes como você disse) é:
-
Pegue as tabelas do servidor público e crie cópias exatas dessas tabelas no servidor admin (TP1 e TP2).
-
Crie um gatilho nas tabelas originais do servidor admin para preencher os dados de T1/T2/T3 na cópia do TP1/TP2 do servidor admin.
-
Você também precisará fazer o preenchimento inicial de dados de T1/T2/T3 na cópia do servidor admin de TP1/TP2. Duh.
-
Configure a "replicação " do TP1/TP2 do servidor admin para o TP1/TP2 do servidor público
Uma abordagem diferente é escrever um programa (tais programas são chamados de ETL - Extract-Transform-Load) que extrairá os dados de T1/T2/T3 no servidor admin (a parte "E" de "ETL"), massageie os dados em formato adequado para carregar em tabelas TP1/TP2 (a parte "T" de "ETL"), transferir (via ftp/scp/whatnot) esses arquivos para o servidor público e a segunda metade do programa (o "L") parte irá carregar os arquivos nas tabelas TP1/TP2 no servidor público. Ambas as metades do programa seriam lançadas pelo
cron
ou seu agendador de escolha. Há um artigo com um exemplo muito bom de como começar a construir Perl/MySQL ETL:http://oreilly.com/pub/a/databases/2007/04/12/building-a-data-warehouse -with-mysql-and-perl.html?page=2
Se você preferir não construir o seu próprio, aqui está uma lista de sistemas ETL de código aberto, nunca usei nenhum deles, então não há opiniões sobre sua usabilidade/qualidade:http://www.manageability.org/blog/stuff/open-source-etl