目录
点击下面目录可以更快阅读呕
一、背景
在生产环境中 我们往往会遇到数据迁移、备份等一系列的情况,备份有两种情况:
1、如果数据库主机在我们的手里面直接可以使用数据库本身的命令进行备份比较方便
2、如果数据库主机不在我们的手里我们又要想做数据迁移,或者备份,那就只能通过工具来完成了
接下来介绍一款数据同步软件navicat,navicat本身也是数库库连接工具又可以用来同步数据
来我们说说navicat
二、navicat数据同步优缺点
同步:
如果表存在,数据相同的则留,不同的则删除,然后插入目的表不存在的数据(同步相当于两个数据库表的数据拿出来比对是否有差异
传输:
直接删表 ,插入源表数据(传输是一个数据表的数据进行插入)
优缺点:
这样说的话 同步占内存,但是快,适合数据量少的时候执行
传输速度慢,但是占内存少 适合数据量大的时候执行
三、试验环境
1、同步数据实战
1、我现在有ceshi1 和ceshi2两个数据库
ceshi1中company表有5条数据
ceshi2中只有2条数据
现在我的需求是把ceshi1数据库中多的3条数据同步到ceshi2数据库的company表中
点击工具-->数据同步
填写源和目标数据库-->点击下一步
这里说明一下源和目标:
源:代表我们要从那个数据库拿数据拿数据的那个库就是源
目标:是数据同步到那个库去,接收的库就是目标数据库
这里代表同步的是我们ceshi1数据库和ceshi2数据库的所有表
还可以查看同步表的字段是否相同
也可以选中你不想同步的表进行取消同步即可
现在我把company1表同步给取消了 (取消表可以右键选中要取消的表选择取消即可)
点击比对 这些要选择映射值(相当于你要以那个字段来判断是否更新)
字段映射是值(你要更新那些字段)
选择更新
这里如果有一条数据不一样就会显示插入一条数据
点击部署
点击运行
现在进行ceshi1和ceshi2数据库同步后的数据对比
ceshi1还是5条数据
ceshi2由之前的2条数据变为现在的5条数据
数据同步完全一致,试验成功
2、数据传输实战
我们直接把ceshi2中的数据删除,然后从ceshi1中传输到ceshi2中
删除ceshi2中company表的数据
delete from company
点击工具-->数据传输
同样选择源和目标然后下一步
源和目标在数据同步实战中已经有详细说明,不懂的可以直接回去温习一下
这里我只传输一张表所以我选择了自定义 如果你需要传输所有的表就选择全部
其他的视图、函数、序列、类型都选择全部
然后点击开始
现在可以具体的看到传输了6条数据且已经传输成功了
我们去ceshi2数据库查看,发现和我们上面看到的日志信息完全一致,数据从ceshi1全表传输到ceshi2,数据大小不变
本次数据传输实战成功