将数据从MS SQL移动到MySQL

将数据从MS SQL移动到MySQL,mysql,sql-server,Mysql,Sql Server,我有一个MS SQL DB(非常大)和MySQL。我必须通过执行SQL将数据从MS SQL DB移动到MySQL。这意味着源数据和目标数据的结构不同。当源数据更新时,更新将反映到目标中。请给我一个建议,哪种方法合适? 使用SSIS 使用存储过程&编写自己的脚本 另一种方式 非常感谢您的建议。要从MSSQL迁移到MYSQL,请使用MYSQL迁移工具包 要下载并使用MYSQL迁移工具包,请使用以下链接 MySQL Workbench迁移向导旨在通过在配置和管理复杂迁移过程的所有阶段提供直观、点击式的

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

  • 使用SSIS
  • 使用存储过程&编写自己的脚本
  • 另一种方式

  • 非常感谢您的建议。

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

    要下载并使用MYSQL迁移工具包,请使用以下链接

    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.
    

    最干净的方法是使用存储过程,因为它不是一个完整的迁移。通过这样做,你将控制一切。MSSQL有一个很好的链接服务器的特性,虽然有点慢,但在大多数情况下都是值得的。您可以在此处找到说明:

    例如:

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

    我认为这比直接迁移更像是ETL。@DrewR:它还将处理更复杂的结构。提取、转换、加载(数据)@DrewR感谢您的分享。你是对的。与其说是直接迁移,不如说是ETL,这取决于结构的不同程度。但作为一般提示:请看一下SQLServer中的链接服务器。您可以使用一个脚本从sql server读取数据并将其插入MySQL数据库(每个表或类似的脚本取决于您的结构)我很幸运-可以用它来同步模式和数据。你可以参考这个现有链接,其中提到了如何从MSSQL迁移到MySQL,我正按照你的建议尝试。它是否在源数据库更新时运行?链接服务器只允许调用其他服务器。这就像在同一台服务器上调用另一台mssql服务器。要使它在实际数据库更新时运行,可以添加触发器来执行存储过程。