datax安装使用(sqlserver同步到mysql)

环境:

[root@host135 ~]# java -version
java version "1.8.0_361"
Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)
[root@host135 ~]# python -V
Python 3.6.5

 

 

 

1.下载

https://github.com/alibaba/DataX

选择Quick Start连接入口进行下载编译好的

 

2.解压
tar -xvf datax.tar.gz
mv datax /opt/

 

3.编辑json文件

cd /opt/datax/script
vi sqlserver2mysql.json

复制代码
{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "sqlserverreader",
                    "parameter": {
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:sqlserver://192.168.2.84:1433;DatabaseName=mydb"],
                                "table": ["${readTable}"]
                            }
                        ],
                        "password": "123456",
                        "username": "sa",
                        "column": ["*"]
                    }
                },
                "writer": {
                    "name": "mysqlwriter",
                    "parameter": {
                        "column": ["*"],
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:mysql://192.168.1.135:3306/db_hxl",
                                "table": ["${writeTable}"]
                            }
                        ],
                        "password": "mysql",
                        "preSql": ["truncate table ${writeTable}"],
                        "session": [],
                        "username": "root",
                        "writeMode": "insert"
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": "5"
            }
        }
    }
}
复制代码

 

4.编写shell执行文件

cd /opt/datax/script/
vi sqlserver2mysql.sh
python /opt/datax/bin/datax.py /opt/datax/script/sqlserver2mysql.json -p "-DreadTable=$1 -DwriteTable=$2" --jvm="-Xms8G -Xmx8G"

[root@host135 script]# chmod u+x sqlserver2mysql.sh

 

5.执行(需要在目标端创建表)
sh ./sqlserver2mysql.sh tb_test tb_test

报错误:

错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”

 

解决办法:
find / -name java.security
/usr/local/java/jdk1.8.0_361/jre/lib/security/java.security
打开 java.security 文件之后,修改 jdk.tls.disabledAlgorithms= 后面的值,删除 TLSv1, TLSv1.1 和 3DES_EDE_CBC 即可

 

6.使用select方式获取源数据

复制代码
[root@host135 script]# more sqlserver2mysql01.json 
{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "sqlserverreader",
                    "parameter": {
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:sqlserver://192.168.2.84:1433;DatabaseName=db_test"],
                                "querySql": ["select * from tb_test"]
                            }
                        ],
                        "password": "123456",
                        "username": "sa",
                        "column": ["*"]
                    }
                },
                "writer": {
                    "name": "mysqlwriter",
                    "parameter": {
                        "column": ["*"],
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:mysql://192.168.1.135:3306/db_hxl",
                                "table": ["tb_test"]
                            }
                        ],
                        "password": "mysql",
                        "preSql": ["truncate table tb_test"],
                        "session": [],
                        "username": "root",
                        "writeMode": "insert"
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": "5"
            }
        }
    }
}
复制代码

 

 

 

posted @   slnngk  阅读(911)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示