站点图标 Linux-技术共享

Navicat定时在MySQL与MySQL数据库之间自动传输数据

来由:  需要将表数据从一个库同步到另一个库(数据分发),之前有尝试过使用Kettle去抽数,但是数据量稍微大一点的时候太慢了...  有可能是本机性能的原因,然后就选择用navicat自带的同步工具。(测试环境需要用navicat(因为端口不通),生产环境直接用sqoop抽取过去就可以啦)

主要有两个知识点:   Navicat数据传输 与 Navicat定时任务(VMSHELL未验证)

>>>>>>>>>Navicat数据传输

将数据从一个数据传输到另一个数据库(MySQL to MySQL) ,eg: 将 10.11.22.33:3306/demo1 数据库中的 student 表 传输到 10.22.33.55:3306、demo2 数据库中

1.打开Navicat,点击菜单栏中的工具,选择数据传输

2d63d99b4e4b3ebc9d8aa66b12607163.png

2.选择需要同步的数据库信息,指定数据信息,然后再指定目标数据库信息

切记: 数据是从 源库中 传输到 目标库中 (A->>B)

3.定义传输时的高级设置信息 (这里使用的是默认设置,如下图【可根据自己的实际需求去定义勾选或取消以下选择项】)

4. 点击到信息日志页面,然后点击开始 则开始同步啦~  会看到日志信息输出

5. 日志输出如下:(传输成功)

>>>>>>>>>Navicat定时任务

将定义好的sql语句,数据传输信息等定时执行。

定义的步骤如下:

1. 我们这里将传输数据来做示范,先将上面的传输数据信息定义保存为具体文件

2保存后,会发现我们多了一个 test 文件

3. 查看test文件的存储位置(这个不是必要的哈哈哈  但是了解一下也不赖吗)

先保存一个查询,命名为 2 ,然后查看这个查询的文件存储位置,路径如下: C:\Users\S0111\Documents\Navicat\MySQL\Servers\${CONNECT NAME}\${DBNAME}

4. MySQL目录下搜索test 文件 :  最后确定路径为 C:\Users\S0111\Documents\Navicat\MySQL\profiles

>>>>>>>>>开始定义定时任务:

1.选择工具栏中的 计划 -->  新建批处理作业

2. 选择需要定时执行的文件 ,也就是之前定义的 test

3.点击保存后,输入任务名称

4.开始定义任务相关信息 选定 test定时任务,然后点击 设置任务计划,看到如下信息(任务这一栏使用默认的配置即可)

5.配置计划 信息,点击下方的新建

6.定义任务执行时间,以及多长时间执行一次

接着点击 高级 ,配置计划的结束时间,不然就只会执行一次(这样才会周期执行,每天或者每周每月等等...)

7. 其他设置 (如果没有特殊要求 保持默认的设置即可)

8.保存任务信息,需要填写正在使用的这台电脑的开机密码,如果没有设置开机密码则不需要填写。

最后,我们再回到计划,就能看到我们刚刚设置定的定时任务信息了,每天的九点就会同步一次数据。

 

退出移动版