ElasticSearch同步Mysql解决方案

一.准备内容

1.开放访问权限的mysql账号

2.logstash

3.es服务

二.脚本编辑

我们在启动logstash服务时,需要自己创建一个配置文件,起名随意,以下作者用mysql.conf表示

mysql.conf 内容:

input {
    jdbc {
      # 数据库
      jdbc_connection_string => "jdbc:mysql://xxxx:3306/库名"
      # 用户名密码
      jdbc_user => "用户名"
      jdbc_password => "密码"
      # Mysql-jdbc jar包的位置  路径不能写错 ,版本要对应
      jdbc_driver_library => "mysql-connector-java-5.1.47.jar"
      # mysql的Driver
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
      #清除第一次同步的时间,日志时间
      #clean_run => true 
	  # mysql.sql内写sql 例如 select  *  from 你需要导入的表
      statement_filepath => "mysql.sql"
      # canel  时间参数,定时导入
      schedule => "* * * * *"
      #索引的类型  分词器类型
      type => "monitor_task_video_manual_history"
    }
}
 
filter {
    json {
        source => "message"
        remove_field => ["message"]
    }
}
 
output {
    elasticsearch {
        hosts => "es地址"
        # index名
        index => "需要导入的index名字"
        # 需要关联的数据库中一个id字段,对应索引的id号
        document_id => "%{id}"
    }
    stdout {
        codec => json_lines
    }
} 

通过脚本启动logstash服务

./logstash -f mysql.conf

即可完成定时监听同步mysql数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值