将数据从 MS SQL 移动到 MySQL

Posted

技术标签:

【中文标题】将数据从 MS SQL 移动到 MySQL【英文标题】:Move data from MS SQL to MySQL 【发布时间】:2013-09-22 21:55:24 【问题描述】:

我有一个 MS SQL DB(非常大)和 mysql。我必须通过执行 SQL 将数据从 MS SQL DB 移动到 MySQL。这意味着源数据和目标数据不是相同的结构。当源数据更新时,更新会反映到目标中。请给我建议哪种方式合适?

    使用 SSIS 使用存储过程并编写我自己的脚本 其他方式。

非常感谢任何建议。

【问题讨论】:

这取决于结构有多么不同。但作为一般提示:查看 sql-server 中的链接服务器。您可以从 sql-server 读取数据并使用一个脚本将其插入您的 MySQL 数据库(每个表或类似的,具体取决于您的结构) 我有幸使用Microsoft SQL Server Migration Assistant for MySQL - 可以使用它来同步模式和数据。 您可以参考这个现有链接,其中提到了How to migrate from MSSQL to MySQL ***.com/questions/3917081/… 【参考方案1】:

最干净的方法是使用存储过程,因为它不是一个完整的移民。通过这样做,您将掌控一切。 MSSQL 有一个不错的功能链接服务器,虽然有点慢,但在大多数情况下值得。你可以在这里找到说明:http://www.sqlservercentral.com/Forums/Topic340912-146-1.aspx

一个例子:

UPDATE your_mysql_database.dbo.your_mysql_table SET col1=...

【讨论】:

我正在尝试您的建议。是否在源数据库有更新时运行? 链接服务器仅使其他服务器可供调用。这就像在同一台服务器上调用另一个 mssql 服务器。为了让它在你的实际数据库更新时运行,你可以添加一个触发器来执行你的存储过程。【参考方案2】:

要从 MSSQL 迁移到 MYSQL,请使用 MYSQL 迁移工具包

要下载和使用MYSQL迁移工具包,请使用以下链接http://dev.mysql.com/downloads/gui-tools/5.0.html

MySQL Workbench 迁移向导旨在通过在配置和管理复杂迁移过程的所有阶段提供可视化、点击式易用性来节省 DBA 和开发人员的时间:

     Database migrations - enables migrations from Microsoft SQL Server, PostgreSQL, Sybase ASE, Sybase SQL Anywhere, SQLite, and more.
     Migration project management - allows migrations to be configured, copied, edited, executed and scheduled.
     Source and Target selection - allows users to define specific data sources and to analyze source data in advance of the migration.
     Object migration - allows users to select objects to migrate, assign source to target mappings where needed, edit migration scripts and create the target schema.
     Data migration - allows users to map source and target data and data types, set up data transfer and assign post data transfer events where needed.
     Version Upgrades - using migration users can easily move databases off older MySQL versions to the latest.

【讨论】:

我认为这比直接迁移更像是 ETL。 @DrewR:它还会处理更复杂的结构。 提取、转换、加载(数据) @DrewR 感谢您的分享。你说的对。它比直接迁移更多 ETL

以上是关于将数据从 MS SQL 移动到 MySQL的主要内容,如果未能解决你的问题,请参考以下文章

无法运行JDBC sink将数据从Kafka移动到MS SQL Server

将数据从 SQL Server/PostgreSQL 移动到 MySQL

将关系数据从 MSSQL (Azure SQL Server) 移动到 MySQL 数据库

将数据从 hdfs 移动到 sql

无法使用 c#“第 1 行的 SQL 语法错误”将数据从 Ms Access 迁移到 MySQL 工作台

仅使用脚本在 MS SQL Server 之间移动多个表