Ich habe eine Datenbank in SQL Server 2008 auf einem Windows-Server und möchte alle Daten in eine MySQL-Datenbank auf einem Ubuntu-Server verschieben. Ich habe versucht, den SQL Server-Import- und -Export-Assistenten mit dem MySQL-ODBC-Treiber zu verwenden, und er greift korrekt auf beide Datenbanken zu, aber die XML-Dateien mit den Spezifikationen für die Typkonvertierung waren nicht vorhanden und die Spezifikationen waren zu begrenzt, um sie korrekt zu erstellen. Weiß jemand, wie man die Typkonvertierungsdateien erstellt oder wo man ein besseres Tool zum Übertragen dieser Daten bekommt?
sql-server
mysql
migration
murgatroid99
quelle
quelle
Antworten:
Ich habe zwei Vorschläge:
1) Ich hasse es, kommerzielle Produkte auf den Markt zu bringen, aber es gibt Tools für die Migration von MSSQL zu MySQL im Wert von 49,00 USD
2) Weitere Vorschläge finden Sie in den MSSQL-Migrationsforen von MySQL
UPDATE 2011-06-03 18:03 EDT
Es gibt ein altes Produkt, das im Januar 2010 von EOL eingeführt wurde und das MySQL Migration Toolkit heißt . Wenn Sie es bekommen können, können Sie es verwenden.
UPDATE 2011-06-03 18:06 EDT
Ich habe die Archive gefunden !!! Hier ist das MySQL Migration Toolkit
UPDATE 03.06.2011 18:11 EDT
Hier ist die Übersicht über das MySQL Migration Toolkit
UPDATE 2011-06-03 19:08 EDT
Ein weiteres kommerzielles Produkt (29 US-Dollar)
UPDATE 03.06.2011 19:30 EDT
Hier ist eine Liste von Freeware-Tools, die MSSQL nach MySQL migrieren.
UPDATE 15.06.2011 17:47 Uhr EDT
Laden Sie das WhitePaper (PDF) von Oracle im Handbuch zur Migration von Microsoft SQL Server zu MySQL (noch kommerziell) herunter.
UPDATE 2012-08-21 01:24 EDT
Gemäß dieser MySQL-Webseite
MySQL Workbench: Database Migration Wizard
behauptet der Abschnitt , dass die MySQL Workbench die Fähigkeit hat, DB-Objekte von SQL Server nach MySQL zu migrieren.quelle
Basierend auf Marians Vorschlag habe ich diese Antwort zum Replizieren in die andere Richtung gefunden, indem ich den MySQL-Server als Verbindungsserver in MS SQL Server eingerichtet habe. Mit MySQL als Verbindungsserver kann ich SQL-Abfragen für beide Datenbanken gleichzeitig ausführen. Dies bietet genau die Funktionalität, die ich zur Lösung dieses Problems benötige.
quelle
Haben Sie sich mit der Verwendung von SSIS für diese Aufgabe befasst? Dies ist das ETL-Tool für SQL Server. Es verfügt über zahlreiche Transformationen und Logikfunktionen, mit denen Sie diese Aufgabe ausführen können.
quelle
MySQL Workbench kann dies:
http://dev.mysql.com/downloads/workbench
Es kann direkt auf dem MS SQL Server-Rechner installiert werden (Geschwindigkeitsvorteil!), Der Zugriff auf Ihren Ubuntu MySQL-Server haben muss.
quelle
Ich habe versucht, das Migration Toolkit von SQL Server nach MySQL zu importieren. Aber SQLyog Import externe Daten gut gefunden. Ich könnte den Importvorgang einplanen und auch die erforderlichen Zuordnungen vornehmen, um in eine vorhandene Tabelle zu importieren. Herunterladen von hier .
quelle
Ich habe kürzlich etlalchemy veröffentlicht , um diese Aufgabe zu erfüllen. Es ist eine Open-Source-Lösung, die die Migration zwischen 2 beliebigen SQL-Datenbanken mit 4 Python-Zeilen ermöglicht . Zu den unterstützten RDBMS gehören MySQL, PostgreSQL, Oracle, SQLite und SQL Server.
Dies erledigt die entmutigende Aufgabe, die Spaltentypen eines SQL-Anbieters einem anderen zuzuordnen. Es wird nicht nur das Schema übertragen und übersetzt , sondern es werden auch alle Daten, Indizes und Einschränkungen über Datenbanken hinweg migriert.
Installieren:
Auf El Capitan :
pip install --ignore-installed etlalchemy
Zu rennen:
Weitere Informationen zu den Ursprüngen des Projekts finden Sie in diesem Beitrag. Wenn Sie Fehler beim Ausführen des Tools haben, öffnen Sie ein Problem im Github-Repo und ich werde es in weniger als einer Woche reparieren !
quelle
Das MySQL Workbench-Migrationstool unterstützt Sie bei dieser Aufgabe
1) Um den Migrationsprozess zu starten, gehen Sie im Hauptbildschirm von MySQL Workbench zu Datenbank-> Migrationsassistent.
2) Wir sollten die Voraussetzungen prüfen, um zu bestätigen, dass wir die Aufgabe fortsetzen können. Wenn alles in Ordnung ist, können wir auf Migration starten klicken.
3) In diesem Schritt müssen Sie die Informationen zur Quellendatenbank (in diesem Fall SQL Server) bereitstellen.
Wir konfigurieren unseren Quellparameter:
Datenbanksystem: Microsoft SQL Server
Verbindungsmethode: ODBC (Native)
Treiber: SQL Server
Server: localhost
Benutzername: sa
4) Jetzt können wir die Verbindung mit der Schaltfläche Verbindung testen überprüfen.
5) Dann müssen wir die Zielparameter hinzufügen:
Verbindungsmethode: Standard (TCP / IP)
Hostname: Ihr_Hostname
Port: 3306
Benutzername: migration
6) Und drücken Sie auf Verbindung testen, um die hinzugefügten Informationen zu bestätigen.
7) Im nächsten Schritt stellt MySQL Workbench eine Verbindung zu unserem SQL Server her, um eine Liste der Kataloge und Schemata abzurufen.
8) Nun wählen wir die Datenbank Your_database_name aus der Liste aus.
Wir können wählen, wie die Reverse-Engineered-Schemata und -Objekte zugeordnet werden sollen. Wir werden die Option Catalog.Schema.Table -> Catalog.Table verwenden, sodass wir in MySQL die Datenbank und die aktuellen Tabellen in unserer SQL Server-Datenbank ausgewählt haben.
9) Wenn alles geklappt hat, haben wir eine Liste der zu migrierenden Objekte.
10) In diesem Fall haben wir Tabellenobjekte, Ansichtsobjekte und Routineobjekte. Wir werden nur die Tabellenobjekte auswählen, da wir für den Rest des Objekts den entsprechenden MySQL-äquivalenten Code manuell überprüfen sollten.
11) In diesem Schritt werden die Objekte aus der Quelle in MySQL-kompatible Objekte konvertiert.
12) Wenn alles geklappt hat, können wir fortfahren, indem wir auswählen, wie das migrierte Schema im Ziel erstellt werden soll. Wir verwenden die Standardoption "Schema in Ziel-RDBMS erstellen".
13) Lassen Sie uns nun den Erstellungsschema-Prozess überprüfen.
14) Im nächsten Schritt können wir das Ergebnis jeder Skriptausführung und die auf unserem MySQL Server erstellte neue Datenbank überprüfen.
15) An diesem Punkt haben wir die Datenbankstruktur, aber wir haben noch keine Daten. Nun legen wir fest, wie die Daten auf den MySQL-Server kopiert werden sollen. Wir verwenden die Option "Online-Kopie der Tabellendaten für das Ziel-RDBMS".
16) Im letzten Schritt können wir den Migrationsbericht überprüfen und die Aufgabe abschließen.
Eine andere einfache Methode zum Konvertieren einer MS SQL-Datenbank in MySQL ist Stellars DIY-Tool namens Stellar Converter for Database, das die Datenbankdatei einer bestimmten Datenbank direkt auswählt und eine Vorschau der konvertierbaren Tabellen bereitstellt. Nach der Konvertierung werden die Daten direkt in der angegebenen Datenbank gespeichert auf Ihrem System installiert. In diesem Fall müssen Sie eine MS SQL-Datenbankdatei bereitstellen, die nach der Konvertierung in der auf dem System installierten MySQL-Datenbank gespeichert wird. Sie können eine kostenlose Version dieser Software von der offiziellen Stellar- Website herunterladen .
quelle