I due termini che stai cercando sono "replica " o "ETL".
Primo, approccio di replica.
Supponiamo che il tuo server di amministrazione abbia le tabelle T1, T2, T3 e il tuo server pubblico abbia le tabelle TP1, TP2.
Quindi, quello che vuoi fare (dato che hai strutture di tabelle diverse come hai detto) è:
-
Prendi le tabelle dal server pubblico e crea copie esatte di tali tabelle sul server di amministrazione (TP1 e TP2).
-
Crea un trigger sulle tabelle originali del server di amministrazione per popolare i dati da T1/T2/T3 nella copia del server di amministrazione di TP1/TP2.
-
Sarà inoltre necessario eseguire il popolamento iniziale dei dati da T1/T2/T3 nella copia del server di amministrazione di TP1/TP2. Eh.
-
Imposta la "replica " dal TP1/TP2 del server di amministrazione al TP1/TP2 del server pubblico
Un approccio diverso consiste nello scrivere un programma (tali programmi sono chiamati ETL - Extract-Transform-Load) che estrae i dati da T1/T2/T3 sul server admin (la parte "E" di "ETL"), massaggia i dati in un formato adatto per il caricamento nelle tabelle TP1/TP2 (la parte "T" di "ETL"), il trasferimento (tramite ftp/scp/whatnot) quei file al server pubblico e la seconda metà del programma (la "L") parte caricherà i file nelle tabelle TP1/TP2 sul server pubblico. Entrambe le metà del programma verrebbero lanciate da cron
o il tuo programmatore di scelta.
C'è un articolo con un ottimo esempio di come iniziare a costruire ETL Perl/MySQL:http://oreilly.com/pub/a/databases/2007/04/12/building-a-data-warehouse -con-mysql-e-perl.html?page=2
Se preferisci non crearne uno tuo, ecco un elenco di sistemi ETL open source, mai utilizzati, quindi nessuna opinione sulla loro usabilità/qualità:http://www.manageability.org/blog/stuff/open-source-etl