mySQL 迁移 pg 实战

在将数据从MySQL迁移到PostgreSQL的实际项目中,可以采用多种方法和工具来帮助完成这一任务。以下是一个详细的实战指南,通过一个实例演示如何使用DataX工具进行数据迁移。

  1. 准备数据
    首先,需要在MySQL中准备好测试数据。在这个实例中,建立了三个表:actor、movie和actor_movie,这些表用于存储演员信息、电影信息以及演员与电影之间的关系。
  2. 安装DataX
    DataX是一个由Alibaba开发的开源数据同步工具,支持多种数据库之间的数据交换。你需要从GitHub下载DataX的压缩包,并解压到相应的安装目录。
  3. 使用DataX进行数据迁移
    DataX使用JSON格式的配置文件来定义数据同步的任务。以下是一个配置示例,用于从MySQL读取数据并写入PostgreSQL:

{
"job": {

"setting": {
  "speed": {
    "channel": 3
  },
  "errorLimit": {
    "record": 0,
    "percentage": 0.02
  }
},
"content": [
  {
    "reader": {
      "name": "mysqlReader",
      "parameter": {
        "username": "root",
        "password": "root",
        "column": ["*"],
        "connection": [
          {
            "table": ["actor"],
            "jdbcUrl": ["jdbc:mysql://localhost:3306/test"]
          }
        ]
      }
    },
    "writer": {
      "name": "postgresqlWriter",
      "parameter": {
        "username": "root",
        "password": "root",
        "column": ["*"],
        "preSql": ["delete from actor"],
        "connection": [
          {
            "jdbcUrl": "jdbc:postgresql://localhost:5432/test",
            "table": ["actor"]
          }
        ]
      }
    }
  }
]

}
}

  1. 执行数据迁移
    保存上述配置文件为actor.json,并使用DataX提供的脚本datax.py来执行迁移任务:

sudo /usr/local/datax/bin/datax.py actor.json

  1. 验证数据
    迁移完成后,可以通过查询数据库来验证数据是否已成功迁移到PostgreSQL。

通过上述步骤,你可以使用DataX工具实现从MySQL到PostgreSQL的数据迁移。这种方法是高效且可靠的,特别是对于大规模数据的迁移任务。