数据库迁移&数据库同步方案
1、配置环境
JDK(1.6以上,推荐1.6)
Python(推荐Python2.6.X)
Apache Maven 3.x
注:也可以在windows上部署,只要有环境就可以了

2、下载源码or工具包
源码:github.com/Arvin-Mark/DataX-src
工具包:github.com/Arvin-Mark/datax-bin
请自行选择下载方式

3、启动一个mysql或其他数据库实例,并创建两个测试库。名字自行定义
我这里是school和school_shanghai

4、分别在两个库中建立相同表结构的表
我这里分别建了两个t_student表

5、往其中一个库中插入一些数据

6、配置config.json,用于从一个库读数据写入到另外一个库
{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "root",
"password": "123456",
"column": ["*"],
"connection": [
{
"table": [
"t_student"
],
"jdbcUrl": [
"jdbc:mysql://127.0.0.1:3306/school?useUnicode=true&characterEncoding=utf-8"
]
}
]
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"writeMode": "insert",
"username": "root",
"password": "123456",
"column": ["*"],
"session": [
"set session sql_mode='ANSI'"
],
"preSql": [
"delete from t_student"
],
"connection": [
{
"jdbcUrl": "jdbc:mysql://127.0.0.1:3306/school_shanghai?useUnicode=true&characterEncoding=utf-8",
"table": [
"t_student"
]
}
]
}
}
}
],
"setting": {
"speed": {
"channel": 5
}
}
}
}

7、进入到datax-bin\bin目录执行命令
python datax.py stream2stream.json

8、执行结果

9、检查
切换到另一个库中查看表的数据是否已经同步过来
