phpMyAdmin
 sql >> Database >  >> Database Tools >> phpMyAdmin

phpmyadmin sincronizzare

Sembra che tu abbia un paio di problemi qui,

TIME OUT

Vorrei iniziare da qui perché potresti avere un problema con i permessi. Consiglierei prima di assicurarti che il tuo indirizzo IP locale abbia l'autorizzazione per connettersi al tuo database mySQL remoto e viceversa, a seconda della tua configurazione potresti essere in grado di configurarlo in phpMyAdmin, una console di hosting come cPanel o tramite l'accesso alla shell. Suggerirei di configurare un utente separato con una password complessa per l'accesso remoto. Dovresti avere un indirizzo IP statico sulla tua connessione Internet locale, se non ne hai uno contatta il tuo provider di servizi Internet e organizzane uno.

In phpMyAdmin, se hai accesso sufficiente, tramite la scheda "privilegi utente" e impostando "host" in "informazioni di accesso". Non consiglierei l'impostazione "qualsiasi host" per ovvi motivi di sicurezza.

In cPanel, sotto "database" dovresti trovare "mySQL remoto" dove puoi impostare il tuo indirizzo IP.

Finalmente in SSH,

  1. apri il file di configurazione di MySQL con il tuo editor preferito come VI o Nano, su Ubuntu si trova in "/etc/mysql/my.conf",
  2. commenta "bind-address =127.0.0.1" in modo che appaia come "#bind-address =127.0.0.1",
  3. riavvia MySQL con "/etc/init.d/mysql restart",
  4. accedi a MySQL con "mysql -u root -p",
  5. per un nuovo utente, "CREATE USER 'MY_USERNAME'@'localhost' IDENTIFIED BY 'MY_PASSWORD'"
  6. seguito con "CONCEDI TUTTI I PRIVILEGI SU 'MY_DATABASE'.* A 'MY_USERNAME'@'12.34.56.78' IDENTIFICATO DA 'MY_PASSWORD';" - nota, sostituisci l'IP "12.34.56.78" con il tuo indirizzo IP effettivo.
  7. Ora dovresti avere la conferma sulla falsariga della query ok.
  8. Finalmente esci da mysql con il comando "quit" e riavvia con "/etc/init.d/mysql restart"

NOTA:consiglierei di configurare entrambe le installazioni di MySQL per l'accesso remoto.

Ora consiglierei di testarlo eseguendo un piccolo script sul tuo computer locale, qualcosa come

<?php
$host = 'mysql_remoteip';
$user = 'mysql_username';
$pass = 'mysql_password';
$db = 'mysql_database';

$link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
mysql_select_db($db) or die("OOPS! I can not connect to the remote mySQL database, I was given the following error: ".mysql_error());
$sql = "SELECT column FROM table WHERE column='my_var'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)) {
if(empty($row['column']) {
echo "WHOOPS! I could not get information from the mySQL, was there data for me to retrieve in the database?";
} else {
echo "The data I retrieved is:<br />"
echo $row['column'];
}
}
?>

NOTA:dovresti avere dati nel database affinché lo script funzioni correttamente, un risultato senza dati visualizzerà un messaggio che lo script non ha potuto recuperare i dati, questo stabilirà comunque se ora hai accesso al database o meno ma non Non garantire che sia operativo al 100%.

MASTER O SCHIAVO

Sì, è possibile, a condizione che tu abbia accesso sufficiente

In phpMyAdmin:

  1. sotto la scheda "replica" troverai una procedura guidata per fornirti il ​​codice per impostarlo nel file di configurazione di MySQL (su Ubuntu si trova in "/etc/mysql/my.conf"),
  2. fare clic sul collegamento per configurare il server principale
  3. inserisci le informazioni nel form, copia il codice
  4. vai al tuo file di configurazione (posizione sopra) e aggiungi il codice fornito da phpMyAdmin
  5. una volta aggiornato il file di configurazione, riavvia mySQL e fai clic sul pulsante vai in phpMyAdmin, questo confermerà le modifiche
  6. Ora di nuovo nella scheda "replica" fai clic sul collegamento per configurare il server slave
  7. assicurati di avere un server-id univoco nel tuo file di configurazione, in caso contrario aggiungi la riga fornita da phpMyAdmin nella sezione [mysqld] del file
  8. Completa le informazioni richieste e fai clic su Vai

Questo dovrebbe impostare la tua replica.

SINCRONIZZA

Se tutto il resto ha fallito, in phpMyAdmin vai alla scheda "sincronizza", inserisci le informazioni e vai via, devi solo confermare la sincronizzazione nella pagina successiva e 2 secondi dopo hai finito, è così facile.

Per i server di produzione ho personalmente una configurazione di replica master/slave, ma per lo sviluppo sincronizzo quando ho bisogno di dati "live" per replicare un errore o un problema, questo perché devo sincronizzare solo una volta ogni 6-12 mesi. Se ho bisogno di dati in tempo reale localmente, configurerei la replica master/slave