Heim  >  Fragen und Antworten  >  Hauptteil

Kopieren Sie eine MySQL 5.5-Datenbank manuell auf einen anderen Computer

<p>Mein Unternehmen verwendet ein Produkt, das MySQL 5.5 als Backend-Datenbank verwendet. Das Produkt installiert und konfiguriert MySQL während der Installation automatisch. Das Produkt kann für den Betrieb in einer redundanten Hot-Standby-Konfiguration konfiguriert werden. Führen Sie in diesen Fällen den gleichen Installationsvorgang auf zwei separaten Servern durch und wählen Sie dann bei der Erstkonfiguration des Produkts den Redundanzmodus aus. Das Produkt übernimmt den gesamten Prozess des internen Kopierens von Datenbankdaten und der Synchronisierung der beiden Datenbanken. MySQL kennt Redundanzeinstellungen. MySQL ist auf beiden Servern identisch am selben Ort installiert und hat die gleiche Struktur. Das Produkt verfügt nicht über eine sehr elegante/effiziente Möglichkeit, große Datenbanken (z. B. 300 GB große 3-KByte-Tabellen) bei Bedarf vom Primärserver mit dem Backup-Server zu synchronisieren, z. B. wenn ein redundantes System von einem einzelnen Server erstellt wird/der bereits läuft einige Zeit Master-Server-Konfiguration. Meine Frage lautet wie folgt. </p> <p>Gibt es angesichts der Tatsache, dass die MySQL-Installation auf beiden Servern identisch ist, eine sichere/unterstützte Möglichkeit, die Datenbank/Dateien manuell vom Primärserver auf den Backup-Server zu kopieren? Übrigens, dies ist auf einem Produktions-Windows-Server. Ich weiß, dass ich die Datenbank vollständig aus der Hauptdatenbank exportieren und auf den BU-Server importieren könnte, aber das könnte ein paar Stunden dauern. Ich wünschte, es gäbe eine schnellere unterstützte Methode zum Kopieren von Dateien von einem Server auf einen anderen, aber bei meiner Recherche sehe ich widersprüchliche Informationen. </p> <p>Systeminformationen Windows MySQL 5.5 Die Installation ist auf beiden Servern gleich „C:ProgramDataMySQLMySQL Server 5.5data“ Innovationsdatenbank Dateien pro Tabelle = true</p> <p>Vielen Dank im Voraus für alle Vorschläge. </p> <p>Ich habe einmal versucht, einfach den Datenbankordner, der alle innovativen Datenbanktabellendateien enthält, „C:ProgramDataMySQLMySQL Server 5.5dataMydbase“, von einem Server auf einen anderen zu kopieren, aber MySQL startete nicht und es traten Fehler auf.</ p>
P粉588152636P粉588152636410 Tage vor621

Antworte allen(1)Ich werde antworten

  • P粉937769356

    P粉9377693562023-09-05 10:18:50

    是:关闭两台计算机上的 MySQL Server 服务。然后您可以按照您想要的任何方式移动 datadir 中的文件。但这会在您进行文件传输时导致一些停机时间。

    如果必须没有停机时间,也是可以的,但需要更多步骤。

    我所做的是使用 Percona XtraBackup 对源实例进行物理备份,但这对您来说并不容易,因为您使用的是 Windows。 XtraBackup 不适用于 Windows。有些人使用技巧在Windows 上的 Docker 容器

    然后以正常方式将 XtraBackup 还原到您的新计算机,并将其配置为源实例的副本。请参阅 https://docs.percona.com/percona-xtrabackup/8.0 /howtos/setting_up_replication.html

    通过将新实例设为副本,您可以让它根据设置副本时源实例上发生的最新更改进行更新。

    然后在某个时刻您决定切换到新实例。然后,将源实例设置为只读模式,以防止客户端应用程序进行任何新的更改。让副本跟上最后的最终更改(如果副本已经跟上更改,则这只需要一秒钟)。现在,您可以更改客户端应用程序以使用副本而不是以前的源。然后使用 RESET SLAVE 取消新实例上的复制配置,因为您最不希望发生的事情是在以前的源上发生任何更多更改并复制到新实例。

    如果您尝试此过程,我建议您在测试实例(而不是生产实例)上进行测试,直到您熟悉这些工具为止。

    P.S.:除了不支持Windows之外,我不知道当前版本的XtraBackup是否可以与MySQL 5.5一起使用。该版本于 2010 年发布,并于 2018 年终止。因此,我认为您需要研究哪个版本的 XtraBackup 仍然可以读取 MySQL 5.5 实例。您可能必须使用旧版本的 XtraBackup。

    Antwort
    0
  • StornierenAntwort