Navicate的高级操作
写在前面
之前刚写了一篇关于IDEA 集成数据库的操作,IDEA毕竟是一个专注 Java 代码开发的工具,里面集成了很多的插件服务、包括数据库,但和Navicate 专注数据库的客户端软件,很多功能是 IDEA比拟不了的 ,下面就介绍几种Navicate中几种高级操作
一、查询相关
1.1、简单查询
这里就不演示了,一些简单条件、函数查询等
1.2、全文检索查询
全文检索,模糊查询(尽量不要这样检索,太慢)
二、Table 操作
这里包括了,修改表结构,新建表,表的权限设置
2.1、import/export Wizard(格式化数据导入导出,txt、json、sql等)
2.2、trancate/delete table
2.3、数据链接快捷方式
三、高级工具操作
3.1、数据传输 - Data Transfer
将数据,迁移至其他数据库或文件(指定格式)中,A --> B,会把A库中所有表及其数据,Copy到 B库或者B文件中(对B先删后备份),
可以实现跨库转(Mysql、Oracle、MongoDb等等)…
3.2、Data Synchronization - 数据同步
同步数据时,要先保证数据库表的结构一致,至少主键一致,如果主键一致其他字段不一致,会选择一致的列导入
并生成 部署脚本…
3.3、Structure Synchronization - 结构同步
这里会比较 Source DB 与 Target DB 的改变,以及包括同步脚本,这里需要注意的是:这里也会同步数据库的字符集,
同步表结构的时候,先定义数据库的字符集
数据库的字符集和表、字段的字符集可以完全不一样,尽量要保持一致
四、数据备份(两种方案)
这里要注意事务和表锁机制,备份前可供参考
杜绝一切不加事务或者表锁机制的备份,因为不控制数据的话,我们根本无法把握我们备份的数据情况
4.1、简单备份
设置好备份安全机制后,可导出一份数据文件,当前时间为文件名,nb3为后缀名的数据文件
这个文件是可以解析的,解析后就是SQL(structure + data + transaction + lock),如下()
数据恢复操作,可以基于xxxx.nb3,或者 解析后的 sql 文件
需要注意的是,
4.2、定时备份
计划 》新建批处理作业 》设计批处理
注意:这里的批处理作业是基于 任务、事件等等,你可以先手动新建备份,保存,在设计批处理时,在指定这个备份任务,即可完成定时备份
五、定时任务
这里包括定时备份,定时同步
需要注意的是:
- 定时任务是定时执行脚本,脚本是维护在客户端的,不会在服务端留存执行备份任务的
- 还要考虑执行的时机(批量脚本,是否对现有数据库的影响?事务?表锁等等)
5.1、定时备份
可参考以上
5.2、定时同步(data、structure)
代写
六、需要注意
Navicate 虽然强大,但实际中,有些环境是不允许我们用客户端连接的,这里的一些操作至少让我们知道数据库中有某种实现,Navicate 作为客户端只是把它页面集成了
基本实现
包括查询,导入导出(相关函数 + lock + transaction)
数据传输(本地库的备份到目标库的导入而已)
定时任务(只是本地维护了一份脚本,可以是bat或shell + lock + transaction)
这里我总结一份基于脚本或者mysql shell操作这里所有的实现,可供那些无法使用navicate的场景实现这些操作,在此链接