Vorwort:In der täglichen Arbeit müssen wir häufig Daten migrieren, beispielsweise eine Tabelle, eine Datenbank oder eine Instanz. Je nach Bedarf sind möglicherweise unterschiedliche Migrationspläne erforderlich und während des Datenmigrationsprozesses können Probleme unterschiedlichen Ausmaßes auftreten. In diesem Artikel werfen wir einen Blick auf die MySQL-Datenmigration und hoffen, dass er für alle hilfreich ist. 1. Über die DatenmigrationLassen Sie uns zunächst die Erklärung der Datenmigration auf Wikipedia zitieren: Unter Datenmigration versteht man den Prozess der Auswahl, Vorbereitung, Extraktion und Transformation von Daten sowie deren dauerhafte Übertragung von einem Computerspeichersystem auf ein anderes. Darüber hinaus gelten auch die Überprüfung der Integrität der migrierten Daten und die Außerbetriebnahme des alten Datenspeichers als Teil des gesamten Datenmigrationsprozesses. Die Datenmigration ist ein wichtiger Aspekt bei jeder Systemimplementierung, Aktualisierung oder Integration und wird häufig so automatisiert wie möglich durchgeführt, um das Personal von langwierigen Aufgaben zu befreien. Datenmigrationen können aus unterschiedlichen Gründen erfolgen, beispielsweise zum Austausch von Servern oder Speichergeräten, zu Wartungs- oder Upgradezwecken, zur Anwendungsmigration, zur Website-Integration, zur Notfallwiederherstellung und zur Verlagerung von Rechenzentren.
2. Migrationsplan und zu beachtende PunkteDie physische Migration eignet sich für die Gesamtmigration großer Datenmengen. Die physische Migration umfasst das Kopieren von Datendateien und die Verwendung des Sicherungstools XtraBackup. Die physische Migration kann zwischen verschiedenen Servern durchgeführt werden. Wir können dieselbe Version der Datenbanksoftware auf dem neuen Server installieren, dasselbe Verzeichnis erstellen und es wird empfohlen, dass die Konfigurationsdatei dieselbe ist wie die der Originaldatenbank. Kopieren Sie dann die Datendateien und Protokolldateien aus der Originaldatenbank, konfigurieren Sie die Dateigruppenberechtigungen und starten Sie die Datenbank dann mit dem Befehl mysqld auf dem neuen Server. Der Vorteil einer physischen Migrationslösung besteht darin, dass sie relativ schnell ist. Allerdings sind für die Migration Ausfallzeiten erforderlich. Außerdem müssen MySQL-Version und -Konfiguration mit denen des ursprünglichen Servers übereinstimmen, was ebenfalls zu unbekannten Problemen führen kann. Im Vergleich dazu hat die logische Migration einen breiteren Anwendungsbereich und kann sowohl für eine teilweise als auch eine vollständige Migration verwendet werden. Die am häufigsten verwendete Methode bei der logischen Migration ist das Exportieren und Importieren mithilfe von Backup-Tools wie mysqldump. mysqldump eignet sich auch für die Migration zwischen verschiedenen Versionen und Konfigurationen. Bei der Migration einer vollständigen Datenbank empfehle ich jedoch nicht, den Parameter -A zum Sichern der gesamten Datenbank zu verwenden, insbesondere bei der Migration zwischen verschiedenen Versionen. Einige Systembibliotheken können leicht unterschiedlich sein, was nach der Migration zu unbekannten Problemen führen kann. Wenn Sie mysqldump für die vollständige Migration verwenden, können Sie die folgenden Schritte ausführen: # Die ursprüngliche Datenbankausführung ruft die Anweisung zur Datenbankerstellung ab und führt sie in der neuen Datenbank aus (ausgenommen der Systemdatenbank). WÄHLEN CONCAT( 'Datenbank erstellen, wenn nicht vorhanden ', '`', Schemaname, '`', ' Standardzeichensatz ', Standardzeichensatzname, ';' ) AS CreateDatabaseQuery AUS information_schema.SCHEMATA WO SCHEMA_NAME NICHT IN ('Informationsschema', 'Leistungsschema', 'MySQL', 'Sys'); # Die ursprüngliche Datenbank führt die erstellte Benutzeranweisung aus, die in der neuen Datenbank abgerufen wurde (ausgenommen Systembenutzer). WÄHLEN CONCAT( 'Benutzer erstellen \'', BENUTZER, '\'@\'', HOST, '\'' ' IDENTIFIZIERT DURCH PASSWORT \'', Authentifizierungszeichenfolge, '\';' ) AS CreateUserQuery AUS mysql.`Benutzer` WO `Benutzer` NICHT IN ( 'root', 'mysql.session', 'mysql.sys' ); # Führen Sie „show grants“ in der Originaldatenbank aus, um die Benutzerberechtigungen zu erhalten, und führen Sie sie dann nacheinander in der neuen Datenbank aus (Sie können diese Berechtigungstabellen auch in die neue Datenbank kopieren). Berechtigungen für „Testbenutzer“@„%“ anzeigen; # Zu diesem Zeitpunkt verfügt die neue Umgebung bereits über die zu migrierenden Bibliotheken und Benutzer, aber keine Daten. # Verwenden Sie mysqldump, um alle Bibliotheken außer der Systembibliothek in der ursprünglichen Umgebung zu sichern. mysqldump -uroot -pxxxx -R -E --single-transaction --databases db1 db2 > db.sql # Importieren Sie dann die neue Umgebung mysql -uroot -pxxxx < db.sql Zum Migrieren einiger Bibliotheken und Tabellen können Sie auch eine ähnliche Lösung wie oben verwenden, die Sicherung sollte jedoch bei Bedarf erfolgen. Hier sind einige gängige mysqldump-Sicherungsszenarien: # Sichern Sie eine einzelne Datenbank mysqldump -uroot -pxxxxx -R -E --single-transactio --databases db1 > db1.sql # Sichern Sie einige Tabellen mysqldump -uroot -pxxxxx --single-transaction db1 tb1 tb2 > tb12.sql # Überprüfen Sie einige Tabellen mysqldump -uroot -pxxxxx db1 --ignore-table=db1.tb1 --ignore-table=db1.tb2 > db1.sql # Sichern Sie nur die Struktur oder die Daten mysqldump -uroot -pxxxxx testdb --no-data > testdb_jiegou.sql mysqldump -uroot -pxxxxx testdb --no-create-info > testdb_data.sql Im Allgemeinen ist die Verwendung von mysqldump flexibler. Für eine schnelle Migration sollten wir den Sicherungsinhalt minimieren, beispielsweise durch Ausschließen nutzloser Protokolltabellen. Für einige große Tabellen können wir auch eine separate Migrationslösung verwenden. Beispielsweise ist die Tabelle tb1 in db1 besonders groß. Wir können tb1 während der Sicherung ausschließen. Für die große Tabelle tb1 können wir die Methode LOAD DATA verwenden oder den Tabellenbereich verwerfen und dann importieren, um ihn zu migrieren. Während des Datenmigrationsprozesses können verschiedene Fehler auftreten, die Schritt für Schritt behoben werden können. Es wird empfohlen, vor der Migration einen Benutzer in der neuen Datenbank zu erstellen und Berechtigungen zu erteilen. Dadurch können Fehler beim Importieren von Ansichten und Funktionen vermieden werden, da Ansichten und Funktionen über ein Definitionskonzept verfügen. Beim Importieren einer neuen Umgebung verwenden Sie am besten einen Administratorbenutzer mit SUPER-Berechtigungen, z. B. root, um einige durch Berechtigungen verursachte Probleme zu vermeiden. Nach Abschluss der Migration sollten wir die neue Umgebung erneut überprüfen, z. B. ob die Anzahl der Tabellen gleich ist, einige Tabellen stichprobenartig überprüfen, ob die Daten gleich sind, ob verstümmelter Code vorhanden ist usw. Nur wenn Sie sich über alles im Klaren sind, sind Sie erfolgreich. Zusammenfassen:In diesem Artikel werden die Lösungen und Hinweise zur Datenmigration von MySQL-Datenbanken vorgestellt und in der folgenden Mindmap zusammengefasst: Oben finden Sie eine detaillierte Zusammenfassung der MySQL-Datenmigration. Weitere Informationen zur MySQL-Datenmigration finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Meta Viewport ermöglicht die Vollbildanzeige von Webseiten auf dem iPhone
>>: Tools zum Konvertieren statischer Websites in RSS
<br />Ich habe mir heute die neu gestaltete ...
Inhaltsverzeichnis 1. Flink-Übersicht 1.1 Grundle...
Die Pfeilfunktion ist eine neue Funktion in ES6. ...
Wie unten dargestellt: CSS- CodeInhalt in die Zwi...
Inhaltsverzeichnis Nachfragehintergrund Warum Ngi...
Wirkung Um HTML zu implementieren, bereiten Sie z...
Inhaltsverzeichnis Welche Dienstprogramme bietet ...
Verwenden Sie js, um den Lichtschalter zu Ihrer R...
Docker installieren Sie müssen Docker installiere...
Wir müssen zunächst die Luftqualitätsdaten mit de...
Vorwort Bevor wir über den Deckungsindex sprechen...
1 Rufen Sie die Alibaba Cloud-Konsole auf, suchen...
Frage: <input type="hidden" name=&qu...
1. Einleitung Der Unterschied zwischen Zeilensper...
Heutzutage erlauben viele Websites nicht das direk...