1. mysqldump: 最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。
比如导出单个数据库 ytt: mysqldump ytt >/tmp/ytt.sql;
恢复也非常简单:mysql </tmp/ytt.sql
缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。
2. mysqlpump:MySQL 5.7 GA 后推出的 mysqldump工具的增强版。可以对同一个数据集多个线程并发备份,备份速度很快。
其他缺点和 mysqldump 一样。
3. MySQL Shell UTIL 对象附带的备份工具:随 MySQL 8.0.21 最新版本捆绑发布,自带多线程备份以及多线程恢复功能, 可以直接替代 mysqldump/mysqlpump。
dump_instance/dumpInstance 用来多线程备份 MySQL 整个单机实例
dump_schemas/dumpSchemas 用来多线程备份 MySQL 单个数据库
load_dump/loadDump 用来多线程恢复之前两个工具导出的数据集文件
MySQL Shell UTIL 备份恢复工具具备如下特性:
1. 压缩导出(默认压缩算法 zstd)
2. 数据集分块导出,每块 32M
3. 默认导出存储过程、存储函数、触发器、事件、用户、视图
4. 默认 4 个线程导出
5. 默认进度展示
6. 默认字符集 utf8mb4
7. 默认开启一致性导出
8. 默认表,视图等定义导出为 SQL 语句
9. 默认数据导出为 TSV 格式数据
Navicat for MySQL 是一套管理和开发 MySQL 或 MariaDB 的理想解决方案,支持单一程序,可同时连接到 MySQL和MariaDB,主要功能包括 SQL 创建工具或编辑器、数据模型工具、数据传输、导入或导出、数据或结构同步、报表等。SQL 创建工具或编辑器
SQL 创建工具:视觉化 SQL 创建工具创建和编辑查询或视图,不必担心语法和正确命令的用法。选择需要在表中执行的 *** 作,自动编写 SQL 语句。
自动完成代码:使用自动完成代码功能,能快速地在 SQL 编辑器中创建 SQL 语句。无论选择数据库对象的属性或 SQL 关键字,只需从下拉列表中选择。
数据库设计器
逆向工程:使用 Navicat for MySQL逆向工程,可从一个现有的数据库创建数据库模型,可视化地显现和编辑数据库结构或创建一个图形模型,并由模型生成一个数据库。
正向工程和生成脚本:同步到数据库功能可充分了解所有数据库的差异,生成必要的同步脚本来更新目标数据库,并使其与模型相同。导出 SQL 有机会全面控制最终的 SQL 脚本,生成参照完整性规则,生成模型的独立部份、注释、字符集等,可大大节省工作时间。
数据处理工具
导入或导出向导:从不同格式的文件导入数据到表,例如 Access、Excel、XML、TXT、CSV、JSON 及更多。而且在设置数据源连接后,可以从 ODBC 导入数据。只需简单地选择需要导入的表,或使用添加查询按钮指定查询。同样可以将数据导出到各种格式,如 Excel、TXT、CSV、DBF、XML 等。
数据传输:在多个数据库间轻松地传输数据,可以选择指定的 SQL 格式和编码导出数据为 SQL 文件,这个功能可大大的简化迁移数据的进程。
数据或结构同步:从一个数据库中详细的分析进程传输数据到另外一个数据库,同样可以对比并修改表的结构。在数据和结构同步中,目标数据库可以在源服务器,也可以在其他的服务器。
备份或还原:定期备份数据库对用户涞水相当重要,备份或还原全部表、记录、视图等。如果数据损坏,不用再重做,高枕无忧。
报表创建工具或查看器 只限于 Windows 版本
使用用户友好 GUI 报表创建工具创建各种不同类型的报表,设计发票、统计、邮寄标签及更多其他报表。输出报表到多种格式,如 text、PDF、Lotus、Excel、Graphic、Html 等。
1.如何实现mysql与elasticsearch的数据同步?逐条转换为json显然不合适,需要借助第三方工具或者自己实现。核心功能点:同步增、删、改、查同步。
2、mysql与elasticsearch同步的方法有哪些?优缺点对比?
目前该领域比较牛的插件有:
1)、elasticsearch-jdbc,严格意义上它已经不是第三方插件。已经成为独立的第三方工具。https://github.com/jprante/elasticsearch-jdbc
2)、elasticsearch-river-MySQL插件 https://github.com/scharron/elasticsearch-river-mysql
3)、go-mysql-elasticsearch(国内作者siddontang) https://github.com/siddontang/go-mysql-elasticsearch
1-3同步工具/插件对比:
go-mysql-elasticsearch仍处理开发不稳定阶段。
为什么选择elasticsearch-jdbc而不是elasticsearch-river-mysql插件的原因?(参考:http://stackoverflow.com/questions/23658534/using-elasticsearch-river-mysql-to-stream-data-from-mysql-database-to-elasticsea)
1)通用性角度:elasticsearch-jdbc更通用,
2)版本更新角度:elasticsearch-jdbc GitHub活跃度很高,最新的版本2.3.3.02016年5月28日兼容Elasticsearch2.3.3版本。
而elasticsearch-river-mysql 2012年12月13日后便不再更新。
综上,选择elasticsearch-jdbc作为mysql同步Elasticsearch的工具理所当然。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)