2013-02-02 17 views
16

Ho un database MySQL locale che cambia ogni tanto, quando cambia voglio sincronizzarlo con il database remoto. Sto usando l'opzione di sincronizzazione di PhpMyAdmin per questo.Sincronizza database MySQL remoto e locale utilizzando phpMyAdmin

Ho concesso autorizzazioni a tutti gli IP per connettersi da remoto.

Problema: Quando voglio sincronizzare database remoto con database locale utilizzando la sincronizzazione possibilità di PhpMyAdmin. Mostra solo la differenza della struttura del database ma i dati sono diversi anche su entrambi i database ma non mostrano questa differenza.

E quando si sincronizza il database facendo clic sul pulsante Synchronize Database e di nuovo sulla sincronizzazione. Ancora una volta mostra la stessa sincronizzazione della struttura.

vedi immagine sotto enter image description here

Se qualcuno ha una soluzione alternativa per lo prega anche detto che. locale Dettagli OS: Windows7 Software: EasyPHP12.0 remoto dettagli Server: Linux Cpanel PhpMyAdmin

+0

sta tentando di connettersi e gestire un MySQL remoto? –

+0

sì Voglio collegare remoto a locale –

+0

di ricerca di Google per la replica di MySQL. –

risposta

13

Aprire phpMyAdmin/config.inc.php e aggiungere queste righe su "Configurazione del server".

$i++; 
$cfg['Servers'][$i]['host']   = '<remote-server-address>'; // Remote MySQL hostname or IP address 
$cfg['Servers'][$i]['port']   = '';   // MySQL port - leave blank for default port 
$cfg['Servers'][$i]['socket']  = '';   // Path to the socket - leave blank for default socket 
$cfg['Servers'][$i]['connect_type'] = 'tcp';  // How to connect to MySQL server ('tcp' or 'socket') 
$cfg['Servers'][$i]['extension']  = 'mysql';  // The php MySQL extension to use ('mysql' or 'mysqli') 
$cfg['Servers'][$i]['compress']  = FALSE;  // Use compressed protocol for the MySQL connection 
$cfg['Servers'][$i]['auth_type']  = 'config'; // Authentication method (config, http or cookie based)? 
$cfg['Servers'][$i]['user']   = '<db-username>';  // Remote MySQL user 
$cfg['Servers'][$i]['password']  = '<db-password>';  // Remote MySQL password 

Ora c'è un menu a discesa 'server' sulla prima pagina phpMyAdmin. Scegli il tuo sever e bingo!

Crediti: codejourneymen

E, ci sono un sacco di esempio, forse aiutare:

phpadmin remote database

+0

Questo è un bene. Ma voglio aggiungere record dal database locale al database remoto se non ci sono. –

+0

È possibile utilizzare l'interfaccia di phpMyAdmin di farlo dopo aver collegato il server remoto come spiegato sopra. –

2

La mia risposta non è correlato a PhpMyAdmin, ma in ogni caso, lascia che ti consiglio Schema/Data comparison tools in dbForge Studio per MySQL. Questi strumenti ti aiuteranno a trovare, visualizzare le differenze e sincronizzare due database.

Se non si ha accesso al database remoto, è possibile utilizzare la connessione tunnel HTTP o utilizzare la connessione di sicurezza SSL/SSH.

1

Provare a usare SQLyog Job Agent (SJA) Su Windows, è disponibile con la pluripremiata GUI MySQL di SQLyog. La versione Linux di SJA è gratuito e può essere scaricato dal webyog.com

Check here

+0

Non voglio usare questi strumenti di terze parti. Voglio sincronizzare usando il codice PHP prima. –

+0

L'edizione community "gratuita" non offre strumenti di sincronizzazione! – Meloman

0

Durante la creazione di tabelle avrei lasciato il server remoto da usare anche i numeri e lasciare server locale per aggiungere i numeri dispari per incremento automatico. Quindi disporre di uno script per estrarre o inviare dati tra server senza problemi duplicati.

0

Non capisco perché non si dovrebbe semplicemente aggiornare il telecomando e abbandonare il DB locale tutti insieme. Suggerimento: potresti voler impostare due telecomandi - EX: dev.domain.com, www.domain.com. collega il codice locale allo sviluppatore e aggiorna/verifica poi quando vuoi andare in produzione, basta scaricare il dump dei dati sul DB www.Sicuro e fallback pronto quando il DB locale si interrompe.

Problemi correlati