java和本地mysql怎么连接 如何把mysql中的数据同步到elasticsearch中?
浏览量:1864
时间:2023-05-26 08:52:05
作者:采采
如何把mysql中的数据同步到elasticsearch中?
这几年我接触了更多有同步需求的项目,文件同步,主流和非主流数据库之间的同步。要将MySQL中的数据同步到Elasticsearch,可以通过以下实现。
自我实现
数据同步的关键是提取变化的数据。在MySQL中捕获数据变化的方法有:
触发器:简单直接,使用触发器将变更记录的主键插入到中间表中,程序定时扫描提取数据。
Binlog:基于数据库的二进制日志,在日志中记录数据的添加、删除、修改操作。通常,该程序用于模拟从站接收和解析日志以获取数据。
冗余字段:可以在同步表中添加更新时间字段,以定期扫描和提取大于某个时间点的数据。
自我实现的成本很高,当然也有很多开源工具可用。
使用其他工具
Logstash-input-jdbc:这是Logstash提供的官方插件,支持完全同步和增量同步。原理比较简单,就是定期执行SQL,可以使用上面的* *冗余字段的方法。地址:Go-mysql-elasticsearch:基于Go开发并与Binlog同步的第三方开源工具。地址:elasticsearch-jdbc:基于SQL的完全和增量同步的第三方工具。地址:
推荐Logstash-input-jdbc,简单易用,稳定。
java怎样查询MYSQL数据库中的数据;根据id字段查询,获取id对应的一行数据,并显示,在标签上?
首先需要获取数据库连接,获取sql执行器执行sql语句,select * from table name,where id,获取带有你传递的id的结果集,从结果集中获取数据。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。