我用Navicat的这些技术少加了好多班,也为公司挣了不少w

今天又用Navicat处理了一个数据同步的需求,财务又到账一笔收入…….

本文我将结合我曩昔的实践,给我们引荐一款数据库的运维东西。给我们出现一下竟然能够用Navicat处理这些实际问题 。

熬了几个夜,毫无保留地将这些技术分享,只为博的一个赞,哈哈哈……

功用概览

中心功用 描绘
数据传输 将A处的数据传输到B处。主要是表和数据
数据同步 将A处的数据和B处的数据进行比较,找出差异进行同步。主要是表和数据
结构同步 将A处的结构和B处的结构进行比较,包含函数、存储进程等。能够导出对应脚本
转储、备份 将数据进行导出。(结构和数据、数据)
快速生成数据 快速生成测验数据;性能压测生成数据
服务器监控 监控服务器的装备数据
逆向工程 快速生成ER图
其他功用 打印数据表信息等

以上功用,将结合实际事例,以图文并茂的方法进行解说。

一、数据传输

这里解释一下数据传输的概念:从A到B,数据传输是单向的,行将A里面有的数据都传输到B中。

如下所示:将数据库database1传输到数据库database2中。

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

1.1需求场景

场景 描绘
数据库服务商替换 第一年购买了阿里云的MySQL数据库,由于价格原因原因等,第二年换成华为云的MySQL。需求将阿里云MySQL的数据迁移到华为云MySQL数据库
数据库资源晋级 A数据库对应存储资源快满了,将其数据库中的数据迁移到资源更好的B数据库中
资源安全晋级 由于安全等,将环境A的数据库迁移到环境B中
数据初始化 新项目系统基础数据从预发环境迁移到正式环境等

场景还有许多,纷歧一举例,那么用 Navicat 如何实现这一需求呢,请往下看。

1.2Navicat演示数据传输

以测验比方进行举例说明

第一步:找到数据传输

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

第二步:确认数据传输方向

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

这一步,确认好方向。方向反了便是事故了。

第三步:高档装备设置。(特殊场景确实高档)

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

第四步:其他选型装备设置

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

如图现已标注留意点。

第五步:开始履行

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

创立前删去方针方针:假如方针库中有对应的表,勾选上会被删去。假如不勾选,那么第一个遇到错误时持续则必须要勾选,否则履行创立创立的查看存在就直接停止了。不再持续了。

第六步:履行成果

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

经过这几步,数据就传输完成了。

1.3留意事项

  1. 留意同步方向,要明确从哪里到哪里。
  2. 默认状况,从源到方针,方针库中的对应存在会删去被删去,包含数据和结构。假如方针表里面的数据不应该被删去,则这种传输方法会是一种事故,特别留意。数据同步是一种掩盖的传输。

数据传输必须仔细,拉其他人一起承认。能够对旧的库先做备份,这样确保满有把握。

1.4其他东西

像上面的这种状况其实还有许多其他东西能够实现的。

东西 优势 下风
dump 1. 能够dump整个库
  1. 也能dump特殊几个表 | 1. 比较粗粒度; | | 数据库厂商 | 东西成熟 | 1. 付费
  2. 需求网路白名单装备 |

当然还有其他东西,不再举例。

1.5小结

  1. 假如你只需同步部分字段到方针表,这个东西将是一个不错的挑选
  2. 方针库是全新的,将旧的数据库都传输到新的库;不需太多的设置,直接采用默认就好了。
  3. 由于是按照批进行数据传输的,效率比较高。

假如方针库存在表,也存在数据,要找出差异呢?只同步差异呢?这是我四五年前遇到的一个晋级问题。还记得那些加班的夜晚,直到我遇到Navicat这个技术。

二、数据同步

2.1需求场景

我曾用这个数据同步功用做过两个数据库的差异比照!下面是发布在CSDN的博客文章,是2018年,一晃6年曩昔了…..

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

场景 描绘
系统晋级,找到灰度与生产之间的装备数据差异。 找到差异进行履行

当年做saas产品,都是先晋级产品,再去晋级定制的企业;每次做产品迭代时都要找到很多差异数据进行履行。在没有这个才能之前都是手动处理,十分麻烦。那些加班的业务真的久久不能忘记……

2.2Navicat演示数据同步

第一步:挑选数据同步

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

第二步:承认数据同步的方向

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

第三步:填写装备

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

第四步:比较差异

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

这一步:能够依据上一步的选型进行承认。依据实际状况,可与偶把删去、更新去掉。

特别说明:这种比较是十分耗费资源的操作。不主张用同步方法去做数据传输。由于会有比多进程会十分的慢。

2.3留意事项

这是同步进程,需求特别留意,否则会出问题!会有删去、更新的状况。这不操作一定要稳重处理。虽然东西很好用,但一旦操作错误,会是严重毛病!

当然,除了数据同步以外,数据库常常会存储进程(函数)等。曾经saas产品,晋级的时候会遇到存储进程的晋级,所以也会十分麻烦。找出差异脚本估计是我那一个周的作业,但是自从学会下面这个功用今后,老板都对我刮目相看了。

三、结构同步

比较两个数据库之间的结构差异,包含表、视图、函数(存储进程)等

3.1需求场景

这个是用得最多的一种才能。由于产品常常晋级,因而会经常遇到增加字段、增加索引、增加函数等。对于传统的瀑布开发模式,因而每次晋级都是比较大的改动,常常会伴随很多的数据库改变。因而要正确、无留传地收拾出SQL晋级脚本并不是一件简单的作业。有了这个功用后,我解放了。

场景 描绘
系统晋级,需求晋级表结构、比方增加了一个字段;需求晋级函数、索引等等 经过比较找到与线上数据库之间的差异,构成DDL脚本。快速晋级到线上。

依据DDL脚本,能够编写出对应的回滚脚本,这也是我最初常常做的作业之一。

3.2Navicat演示结构同步

第一步:确认数据源。

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

第二步:确认方针,包含数据表、视图、函数等;这一步会生成脚本

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

生成差异脚本,需求进行具体的比对,避免不必要的改变到了线上。

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

最终一步:查看履行成果

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

3.3留意事项

留意:能够反向生成回滚脚本,这是我的经典操作之一。这样到了线上出了问题,能够经过回滚脚本进行回滚,纷歧定要手动去收拾写出回滚脚本。

这一步,我会重视DELETE、DROP句子,经过查找找出这些句子。重点Review。

任何的改变都是很重要的,必须晋级前拉会做好review作业。

四、转储&备份&导出导游&快速复制一张表

备份数据是一种十分好的行为!这些功用,能够备份表、存储进程等。

4.1需求场景

场景 描绘
出于安全视点,备份数据 备份一张表、备份一个库等,“有备无患”

3.2Navicat演示

转储SQL文件

能够挑选结构和数据、只有结构。能够挑选针对一个表、或许一个库;不能修改具体字段。

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

备份

备份选型,功用更加丰富。能够挑选方针(表、视图、函数)等

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

导出导游

导出导游功用,将数据导出更多的格局,真的比幻想更强大!

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

快速复制一张表

当需求对一张表做更新操作,为了保证安全,能够快速复制一张表,做备份。

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

3.3小结

这些运维东西都是十分便利的。在做一些高危操作的时,常常能够经过备份来到达“有备无患”。这些功用也深得我心!

五、快速生成测验数据

5.1需求场景

场景 描绘
测验同学需求进行性能测验,曾经需求写程序,写脚本才能快速生成很多数据 快速生成压测数据
开发一个新表,需求造一些数据做功用验证 快速生成测验数据

5.2Navicat演示

第一步:找到东西入口

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

第二步:确认表需求生成的数据行

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

第三步:能够依据高档选型,对生成的数据进行定制!

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

提效东西,真的太赞了!!!

5.3小结

能够将这个功用引荐你的测验朋友们,由于很棒,比首要脚本快太多了。要是早知道这个功用,也不至于加班了。

六、其他功用

6.1服务器监控

知道mysql服务器运转时候的装备信息。能够快速进行调整。除非你了解这些变量,否则不要修改它们

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

6.2逆向工程orER图

对于快速了解一个系统的表示十分便利的

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

6.3大局查找?

大致定位为大局查找,查找关键字。但用的比较少。

我用 Navicat 这些技术少加了好多班,也为公司挣了不少w

其他功用就不再一一介绍了。感谢的能够自行下载进行研究。

七、最终总结

  1. 坚持对数据的敬畏之心,任何的数据改变都要稳重。生成数据更需求做好review作业
  2. 上面功用,主张先自行操练和测验,然后再到生成环境运用

纸上得来终觉浅,绝知此事要躬行!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。