Kopieren von Daten aus einer Datenbank in eine andere in MySQL
- Daten von einer Datenbank in eine andere kopieren
- Daten vom MySQL-Server auf den MS SQL-Server kopieren
- Fazit
Wir lernen verschiedene Möglichkeiten kennen, Daten von einer Datenbank in eine andere zu kopieren.
Diese Strategie des Kopierens von Daten ist sehr nützlich bei der Datenreplikation
. Durch Datenreplikation können Daten auf verschiedenen Servern bereitgestellt und allen Benutzern ohne Inkonsistenz zur Verfügung gestellt werden.
Zu den Vorteilen der Datenreplikation gehören eine erhöhte Verfügbarkeit und Zuverlässigkeit der Daten und ein geringerer Kommunikationsaufwand. Wir können die vollständige oder teilweise Datenbank von einem Datenbankserver auf einen anderen kopieren.
In diesem Tutorial sehen wir, wie Sie Daten innerhalb von MySQL (mit demselben Benutzer), MS SQL Server (mit demselben Benutzer) und von MySQL nach MS SQL Server (mit unterschiedlichen Benutzern) kopieren.
Daten von einer Datenbank in eine andere kopieren
Verwendung des MySQL-Servers
Wir haben zwei Datenbanken mit den Namen students
und person
in unserem MySQL-Server. Die Datenbank person
hat eine Tabelle mit dem Namen customers
, und die Datenbank students
hat eine Tabelle mit dem Namen student
, die wir in die Datenbank person
kopieren möchten.
Es ist wichtig zu beachten, dass wir Daten innerhalb eines Servers (MySQL 8.0.27) mit einem Benutzer (Root) kopieren. Wir haben folgende Datenbanken (siehe rote Kästen) und Tabellen (siehe grüne Kästen).
Wir wollen mit der folgenden SQL-Abfrage die Tabelle student
aus der Datenbank students
in die Datenbank person
kopieren.
#MySQL Version 8.0.27
CREATE TABLE person.students SELECT * FROM students.student;
Beobachten Sie nach dem Kopieren der Daten die Datenbanken und Tabellen (siehe Screenshot unten). In der Datenbank person
sehen Sie zwei Tabellen, customers
und students
.
Sie haben vielleicht bemerkt, dass wir die Tabelle student
aus der Quelldatenbank kopieren wollten, warum heißt sie also in der Zieldatenbank students
? Das liegt daran, dass wir es in der SQL-Abfrage students
genannt haben.
Verwendung des MS SQL-Servers
Hier haben wir zwei Datenbanken namens Lehrer
und person
in unserem MS SQL Server. Die Datenbank person
hat eine Tabelle namens customers
, und die Datenbank teachers
hat eine Tabelle namens teacher
, die wir in die Datenbank person
kopieren möchten.
Wir kopieren Daten innerhalb eines Servers (MS SQL Server) mit einem Benutzer. Die aktuellen Datenbanken (siehe rote Kästen) und Tabellen (siehe grüne Kästen) sehen Sie im Screenshot unten.
Wir kopieren mit dem folgenden Befehl eine Tabelle namens Lehrer
aus der Datenbank Lehrer
in die Datenbank Person
.
#MSSQL Server
SELECT * INTO Person..teacher FROM Teachers..teacher;
Sie können die kopierte Tabelle im folgenden Screenshot sehen. Wir haben jetzt zwei Tabellen in der Datenbank Person
.
Daten vom MySQL-Server auf den MS SQL-Server kopieren
Haben Sie sich jemals vorgestellt, dass Sie Daten aus Ihrer Datenbank in die Datenbank eines anderen Benutzers kopieren müssen? Dies bedeutet, dass verschiedene Benutzer beteiligt sind (und manchmal verschiedene Computer).
Hier sehen wir, wie Daten vom MySQL-Server auf den MS SQL-Server kopiert werden (beachten Sie, dass es zwei Benutzer auf demselben Computer gibt, einen für MySQL und den anderen für MS SQL-Server).
Klicken Sie mit der rechten Maustaste auf Ihre Datenbank im MS SQL Server und wählen Sie Aufgabe -> Daten importieren
.
Klicken Sie im folgenden Screenshot auf die Schaltfläche Weiter.
Stellen Sie im folgenden Screenshot sicher, dass die Datenquelle .Net Framework Data Provider for MySQL
ist, schreiben Sie den MySQL-Datenbanknamen, die Portnummer und den Server als students
, 3306
bzw. localhost
. Klicken Sie dann auf Weiter.
Es ist wichtig zu beachten, dass Sie möglicherweise unterschiedliche Datenbanknamen und Server-IP-Adressen haben. Wir verwenden zwei Server auf derselben Maschine; deshalb haben wir localhost
verwendet.
Geben Sie den Benutzernamen
und das Passwort
von MySQL Server ein (siehe Screenshot unten) und klicken Sie auf Weiter.
Stellen Sie sicher, dass als Ziel SQL Server Native Client 11.0
ausgewählt ist, bestätigen Sie den Namen Ihres Servers und der Datenbank und wählen Sie die Authentifizierung aus. Für dieses Tutorial verwenden wir die Windows-Authentifizierung. Klicken Sie dann auf Weiter.
Klicken Sie im folgenden Bildschirm auf Weiter.
Schreiben Sie eine SQL-Abfrage nach Ihren Anforderungen; Wir kopieren alle Datensätze aus der Tabelle student
mit dem folgenden Befehl. Weiter klicken.
Geben Sie den Namen Ihrer Zieltabelle ein (der Name, der in MS SQL Server angezeigt wird) und klicken Sie auf Weiter.
Klicken Sie auf dem unten angezeigten Bildschirm auf Weiter.
Wählen Sie im folgenden Screenshot Sofort ausführen
(siehe grünes Kästchen), oder Sie können das Paket speichern und später ausführen (siehe rotes Kästchen). Weiter klicken.
Klicken Sie im folgenden Bildschirm auf Fertig stellen.
Hier zeigt der folgende Bildschirm, dass die Daten kopiert wurden. Klicken Sie auf Schließen.
Überprüfen Sie Ihren MS SQL Server auf die kopierte Tabelle, und Sie können das grüne Kästchen im folgenden Screenshot sehen.
Fazit
In Anbetracht der obigen Diskussion sind wir zu dem Schluss gekommen, dass das Kopieren von Daten von einer Datenbank in eine andere aus verschiedenen Gründen wichtig ist, darunter Sicherheitsbedenken, Datenverfügbarkeit und Zuverlässigkeit usw. Wir können auch verschiedenen Benutzern weltweit Zugriff auf Daten gewähren.