2 Stimmen

Gibt es eine Möglichkeit, die entfernte und lokale Datenbank in PHP ohne Replikation und Software von Drittanbietern zu synchronisieren?

Ich entwickle eine einfache App mit mysql Datenbank mit einer Tabelle. Ich aktualisiere täglich die lokale Datenbank. Aber jede Woche möchte ich sie durch Klicken auf einen Button auf die entfernte MySQL-Datenbank aktualisieren. Ich kenne die Synchronisierung und Replikation in PHPMyAdmin. Aber ich möchte sie nicht verwenden.

Ich habe erfolgreich die Verbindung zur entfernten und lokalen Datenbank aus einer Datei überprüft. Aber ich konnte keine Lösung für die Synchronisierung finden. Gibt es eine Methode, um in PHP eine Synchronisierung durchzuführen?

Es gibt viele Artikel, die ich gelesen habe, aber alle Artikel geben Methoden unter Verwendung von Replikation und Synchronisierung an. Da ich diese App an einen Kunden liefern muss, möchte ich ihm die einfachste Lösung bieten.

*Ich habe Zugriff auf das cPanel, PHPMyAdmin zur entfernten Datenbank. Danke im Voraus.

1voto

Ripa Saha Punkte 2532

Überprüfen Sie dies http://www.heidisql.com/ verwenden Sie diese Software, wenn Sie sie in Ihrem lokalen System aktualisieren, wird sie automatisch auf Ihrem Remote-Server aktualisiert.

-1voto

Benny Hill Punkte 6063

Wenn Sie eine Remote-Datenbank aktualisieren möchten, würde ich es in Echtzeit tun, anstatt nur einmal pro Woche. Es bietet Ihnen ein Echtzeit-Backup außerhalb des Standorts und es ist auch einfacher für Sie zu codieren.

In PHPMyAdmin können Sie einen neuen MySQL-Benutzer erstellen, der Berechtigungen für Ihre Remote-Datenbank hat. Es ist besser, ein Benutzerkonto zu erstellen, das NUR die erforderlichen Rechte hat, um Ihre Remote-Datenbank zu aktualisieren, anstatt den "root" MySQL-Benutzer zu verwenden, der alle Rechte hat.

Dann passen Sie einfach Ihre vorhandenen PHP-Dateien an und überall, wo Sie SQL gegen die lokale Datenbank ausführen, fügen Sie einen Befehl hinzu, um dasselbe SQL gegen die Remote-Datenbank auszuführen. Zum Beispiel:

(dieser Code ist ungetestet, kann Syntax-/Logikfehler enthalten)

prepare($sql);
    $local_stmt->bindValue(1, $column1);
    $local_stmt->bindValue(2, $id);
    if ($local_stmt->execute() && 0 < $local_stmt->rowCount()){
        $remote_stmt = $remote->prepare($sql);
        $remote_stmt->bindValue(1, $column1);
        $remote_stmt->bindValue(2, $id);
        $remote_stmt->execute();
    }
}catch(PDOException $e){
    echo "Bei der Verarbeitung des SQL-Statements ($sql) ist ein Fehler aufgetreten:" . $e->getMessage();
    exit;
}
?>

Es ist schwer zu sagen, ob Sie von Ihrem lokalen Windows-Rechner aus auf Ihre Remote-Datenbank zugreifen können oder nicht. Sie sagen "Ich habe erfolgreich die Verbindung zur Remote- und Lokaldatenbank aus einer Datei überprüft", was für mich bedeutet, dass Sie auf die Remote-Datenbank von Ihrem lokalen Rechner aus zugreifen können, aber dann sagen Sie "Ich habe Zugriff auf cPanel, PHPMyAdmin zur Remote-Datenbank", was bedeutet, dass Sie keinen Zugriff auf die Remote-Datenbank von Ihrem lokalen Rechner aus haben...

Wenn Sie aus irgendeinem Grund nicht auf Ihre Remote-Datenbank von Ihrem lokalen Rechner aus zugreifen können, müssen Sie mindestens eine PHP-Seite auf dem Remote-Server erstellen, die dieselben SQL-Abfragen ausführen kann, die Sie lokal ausführen. Sie möchten eine sichere Verbindung (HTTPS) verwenden und einige Authentifizierungsdaten (mindestens eine Art Hash oder verschlüsselten Schlüssel) zusammen mit dem auszuführenden SQL übergeben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X