一、安装DataX
首先需要安装jdk和python环境
从网上下载datax压缩包datax下载
将压缩包上传至服务器,并解压
tar -xzvf datax.tar.gz
![](https://i-blog.csdnimg.cn/blog_migrate/6f1cc8e272af02f85b69ae1ff4a083be.png)
切换到datax目录下的bin目录,并创建json文件夹用于存放json文件
![](https://i-blog.csdnimg.cn/blog_migrate/f44caac3b8b2a112dfe8870c6b5f43fe.png)
在json文件夹中创建一个测试文件test.json
{
"job": {
"content": [
{
"reader": {
"name": "streamreader",
"parameter": {
"column": [
{
"type": "string",
"value": "Hello."
},
{
"type": "string",
"value": "world"
},
],
"sliceRecordCount": "3"
}
},
"writer": {
"name": "streamwriter",
"parameter": {
"encoding": "utf-8",
"print": true
}
}
}
],
"setting": {
"speed": {
"channel": "2"
}
}
}
}
切换到datax的bin目录下执行
python datax.py ./json/test.json
![](https://i-blog.csdnimg.cn/blog_migrate/c1175e49ee505fd8d252d6655489662f.png)
测试数据库同步
创建两个数据库,拥有相同的表user,库1user表有数据,库2user表无数据
库1:
![](https://i-blog.csdnimg.cn/blog_migrate/a1dc6505d8233395f6ef9c0537e08915.png)
库2:
![](https://i-blog.csdnimg.cn/blog_migrate/71739c115b3ca5d4feb3906385b86331.png)
在json目录下创建mysql2msql.jsom文件
{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "root",
"password": "123456",
"column": [
"*"
],
"splitPk": "id",
"connection": [
{
"table": [
"user"
],
"jdbcUrl": [
"jdbc:mysql://127.0.0.1:3306/ynjkm"
]
}
]
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"writeMode": "insert",
"username": "root",
"password": "123456",
"column": [
"*"
],
"preSql": [
"truncate user"
],
"connection": [
{
"jdbcUrl": "jdbc:mysql://1270.0.1:3306/ynjkm2?useUnicode=true&characterEncoding=utf8",
"table": [
"user"
]
}
]
}
}
}
],
"setting": {
"speed": {
"channel": 6
}
}
}
}
在datax的bin目录下执行
python datax.py ./json/mysql2mysql.json
执行完成
![](https://i-blog.csdnimg.cn/blog_migrate/f69dd73209376b3892d6cf205c539679.png)
库2user表可以看到已经被同步过来
![](https://i-blog.csdnimg.cn/blog_migrate/caf0e859340293856a87470f6b6b3d19.png)
二、安装DataX-Web
为了更方便进行数据同步,可以安装DataX-Web进行可视化管理
下载DataX-Web压缩包DataX-Web下载
将压缩包上传到指定目录并解压
![](https://i-blog.csdnimg.cn/blog_migrate/45e51ac2c65f826f0fffac05cbf283ef.png)
进入解压后的目录,执行命令,并选择安装datax-web的数据库
./bin/install.sh
![](https://i-blog.csdnimg.cn/blog_migrate/7d1f6f236551e59bf57abb5e05291855.png)
进入安装目录,编辑 env.properties,修改PYTHON_PATH
vi ./modules/datax-executor/bin/env.properties
![](https://i-blog.csdnimg.cn/blog_migrate/e1a423345c788cd09e1c95e02491662c.png)
进入安装目录,执行
./bin/start-all.sh
![](https://i-blog.csdnimg.cn/blog_migrate/f761e59105f1f862bbf8b2779a74c07a.png)
查看是否启动
![](https://i-blog.csdnimg.cn/blog_migrate/eec5a016a435fb193f62ff8c7f88078d.png)
打开datax-web面板
地址:ip:9527/index.html 账号:admin 密码:123456
![](https://i-blog.csdnimg.cn/blog_migrate/612bc0510c098a9218db9ec70b71cb2f.png)
创建数据源,其中db1中user有数据,db2中user无数据
![](https://i-blog.csdnimg.cn/blog_migrate/71426c12b102c71fe35c8922701ad60b.png)
创建项目
![](https://i-blog.csdnimg.cn/blog_migrate/902580a63c41c62d151f1107a2ec06bd.png)
创建任务模板
![](https://i-blog.csdnimg.cn/blog_migrate/430d18f9b5be139130589c9c3baa64cd.png)
构建任务,选择模板,将json中byte和errorlimit删除
![](https://i-blog.csdnimg.cn/blog_migrate/e0f8e2777607a26a646012e35864b510.png)
查看任务
![](https://i-blog.csdnimg.cn/blog_migrate/6c0035c0877bebb420e8cf2cbef2f989.png)
测试任务,选择操作,执行一次任务,并查看日志
![](https://i-blog.csdnimg.cn/blog_migrate/eac52143ff6d5bb65001d2ad9921ce98.png)
查看库2user表,数据已经被同步过来
![](https://i-blog.csdnimg.cn/blog_migrate/417ddd4943e888b797514f50bbe443b3.png)