it-swarm.com.de

Synchronisieren Sie die entfernte und lokale MySQL-Datenbank mit phpMyAdmin

Ich habe eine lokale MySQL-Datenbank, die sich gelegentlich ändert. Wenn sie sich ändert, möchte ich sie mit der Remote-Datenbank synchronisieren. Ich verwende die Synchronisierungsoption von PhpMyAdmin. 

Ich habe allen IP-Adressen die Berechtigung erteilt, eine Remote-Verbindung herzustellen.

Problem: Wenn ich die entfernte Datenbank mit der lokalen Datenbank mithilfe der Synchronisierungsoption von PhpMyAdmin synchronisieren möchte. Es zeigt nur den Unterschied der Datenbankstruktur, aber die Daten unterscheiden sich auch in beiden Datenbanken, zeigen diesen Unterschied jedoch nicht.

Und wenn ich die Datenbank durch Anklicken der Synchronize Database-Schaltfläche synchronisiere, und die Synchronisierung erneut durchführen. Es zeigt wieder dieselbe Struktursynchronisation.

Siehe Bild unten enter image description here

Wenn jemand eine alternative Lösung dafür hat, teilen Sie dies bitte auch mit. Lokale Details Betriebssystem: Windows7 Software: EasyPHP12.0 Remote Details Server: Linux-Cpanel PhpMyAdmin

16

Öffnen Sie phpMyAdmin/config.inc.php und fügen Sie diese Zeilen zu "Server Configuration" hinzu.

$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

Auf der Startseite von phpMyAdmin befindet sich jetzt eine Dropdown-Liste für "Server". Wähle deinen Server und dein Bingo!

Gutschriften: Codejourneymen

Und es gibt viele Beispiele, vielleicht helfen: 

phpadmin entfernte Datenbank

13
K-Gun

Meine Antwort hat nichts mit PhpMyAdmin zu tun, aber trotzdem möchte ich Ihnen Schema/Datenvergleichswerkzeuge in dbForge Studio für MySQL empfehlen. Diese Tools helfen Ihnen dabei, Unterschiede zu finden, Unterschiede anzuzeigen und zwei Datenbanken zu synchronisieren.

Wenn Sie keinen Zugriff auf die entfernte Datenbank haben, können Sie eine HTTP-Tunnelverbindung oder eine SSL/SSH-Sicherheitsverbindung verwenden.

2
Devart

Versuchen Sie es mit dem SQLyog Job Agent (SJA). Unter Windows ist er mit dem preisgekrönten MySQL GUI SQLyog verfügbar. Die Linux-Version von SJA ist kostenlos und kann von webyog.com heruntergeladen werden

Überprüfe hier

1
Subodh Ghulaxe

Beim Erstellen von Tabellen würde ich dem Remote-Server erlauben, gerade Zahlen zu verwenden, und dem lokalen Server erlauben, ungerade Zahlen für das automatische Inkrementieren hinzuzufügen. Dann haben Sie ein Skript zum Abrufen oder Push-Daten zwischen Servern ohne doppelte Probleme.

0
Savvy Aaron

Ich verstehe nicht, warum Sie nicht einfach die Fernbedienung aktualisieren und die lokale Datenbank alle auf einmal löschen. Vorschlag: Möglicherweise möchten Sie zwei Fernbedienungen einrichten - EX: dev.domain.com, www.domain.com. Verknüpfen Sie den lokalen Code mit dem dev und aktualisieren/testen Sie dann, wenn Sie in die Produktion gehen möchten, einfach data dump dev in der www-DB. Sicher und Rückfallbereit, wenn die lokale Datenbank ausfällt.

0
Jim Miller