如何同步两个不同数据库?用datax轻松解决(Java,mysql)

项目中要将现场的数据,同步到云端,记录一下实现过程,(目前只会简单使用),希望可以帮助到需要的人。

首先要安装一个python,

链接:https://pan.baidu.com/s/14Sk3pVMVWUzdKoq_wpCfnw 
提取码:v7n5 
 

安装很简单,双击图标,然后一路Next就可以,要记住安装的路径,下面要用的。

安装之后,要配置一下环境变量,直接上图:

如何同步两个不同数据库?用datax轻松解决(Java,mysql)_第1张图片

配好之后,可以在cmd中验证一下,

如何同步两个不同数据库?用datax轻松解决(Java,mysql)_第2张图片

出现图中的提示,说明已经安装成功了。

然后再下载datax,这个是不必安装的,可以直接用

链接:https://pan.baidu.com/s/1ObhTK9_Ox8xBGiWWG9VWSA 
提取码:goxc

如何同步两个不同数据库?用datax轻松解决(Java,mysql)_第3张图片

下载好之后,是这个样子的目录,

 

如何同步两个不同数据库?用datax轻松解决(Java,mysql)_第4张图片

如何同步两个不同数据库?用datax轻松解决(Java,mysql)_第5张图片

要配置一下想要同步的文件路径,

如何同步两个不同数据库?用datax轻松解决(Java,mysql)_第6张图片

如何同步两个不同数据库?用datax轻松解决(Java,mysql)_第7张图片

 

如果过程中,出错的话,可以看下日志文件,看报错信息:

如何同步两个不同数据库?用datax轻松解决(Java,mysql)_第8张图片

然后重点来了,用Java怎么实现呢,很简单:

我这里用的是定时任务去同步,直接上代码:(代码中的定时任务是1000*60,即1分钟执行一次,可根据需求自行修改)

@Value("${dataXAddress}")
public String dataXAddress;
    /**
	 * 	datax订单数据同步
	 */
	@Scheduled(initialDelay=0,fixedDelay=1000*60)
	public void orderSync() {
		String[] Cmd  = new String[]{"wscript", dataXAddress};   
		Process process;
		try {
			process = Runtime.getRuntime().exec(Cmd);
			process.waitFor();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

如何同步两个不同数据库?用datax轻松解决(Java,mysql)_第9张图片

全程免费,整理不易,觉得有用的话,就点个赞吧!

你可能感兴趣的:(数据同步)