[快速入门]MySQL数据库实时同步设置
数据复制服务 DRS 功能

致,实现关键业务的数据持续性实时流动,解决数据共享问题,同时,支持到数仓和大数据数据流式集成,具有数据转化能力。 支持的高级特性 同步方案概览 实时灾备场景 实时灾备是跨城市近实时灾备通道,避免因城市级别故障造成业务长时间中断,为用户业务连续性提供数据库同步保障。 您可以轻松

数据库RDS for MySQL 功能

MySQL提供了多种数据迁移方案,可满足从RDS for MySQL、DDM、GaussDB、GaussDB(for MySQL)、自建MySQL数据库、自建Oracle数据库、或其他云MySQL迁移到云数据库RDS for MySQL。 常用的数据迁移工具有:DRS、mysqldump、DAS。推荐使用DR

云数据库 RDS for MySQL产品入门

通过DAS创建帐号:需要熟悉创建命令,但功能更强大灵活。 您可将自己创建的数据库帐号,授权给指定的数据库,对于已授权的数据库帐号,您也可取消授权。 创建账号步骤 数据库授权步骤 连接数据库数据库 RDS for MySQL提供数据管理服务(Data Admin Service,简称DAS)

云数据库 RDS for MySQL实例类型

实例选型 云数据库 RDS for MySQL 实例类型 100%兼容原生MySQL,稳定可靠,高性能,智能运维,高等级安全保障,即开即用,弹性伸缩 购买 控制台 文档 实例概述 数据库实例是云数据库 RDS for MySQL的最小管理单元。一个实例代表了一个独立运行的云数据库RDS

云数据库 RDS for MySQL-概览

华为云数据库采用了RDS for MySQL和RDS for PostgreSQL两款数据库存储一汽解放用户数据、车辆数据、配置数据、分析数据等关系型数据,在业务高负载情况下,并行高速复制下主备延时≈0,保证数据不丢失。 携手用友,华为云数据库使能大企业主流商业数据库改造 华为云与用友NC

云数据库产品总览 DBS

)、泛互联网场景 数据库生态工具&中间件 数据复制服务 DRS 适用场景 用于数据库在线迁移和数据库实时同步 性能容量规格 降低了数据库之间数据流通的复杂性 免费试用 产品详情 立即体验 用于数据库在线迁移和数据库实时同步 数据管理服务 DAS 适用场景 数据库一站式开发,DBA

云数据库 RDS for MySQL资源与学习

控制台 文档 数据库学习路径 数据库学习路径 数据库理论基础 1、数据库介绍 2、数据库基础知识 3、SQL语法入门 4、SQL语法分类 华为云数据库介绍与实战 1、数据库入门与应用 2、数据库进阶学习 3、7天玩转MySQL基础实战营 云数据库方案设计与调优 1、云享读书会《SQL优化核心思想》

云数据库 RDS for MySQL定价与计费

计费说明 云数据库 RDS for MySQL 定价 100%兼容原生MySQL,稳定可靠,高性能,智能运维,高等级安全保障,即开即用,弹性伸缩 购买 价格计算器 专家咨询 计费项 华为云RDS for MySQL对您选择的数据库实例、数据库存储和备份存储(可选)收费。 计费项 计费说明

云数据库 TaurusDB-旧链接

数据复制服务 DRS 一种易用、稳定、高效,用于数据库在线迁移和数据库实时同步的云服务 分布式数据库中间件 DDM 解决数据库容量性能瓶颈和分布式扩展问题 云数据库 RDS for MariaDB 完全兼容MySQL的关系型数据库

[相关产品]MySQL数据库实时同步设置
MySQL数据库部署

用户指定物理服务器上安装数据库系统,包括:MySQL数据库安装(linux),MySQL数据库安装(windows),MySQL主从(linux)以及MySQL数据库故障排查,MySQL数据库安装,用户可以提出版本要求,按需安装,也可以使用我们的推荐安装版本。支持环境: 1、wi

MySQL数据库安装

人工服务操作MySQL数据库安装,包括MySQL数据库安装(linux),MySQL数据库安装(windows),MySQL主从(linux)以及MySQL数据库故障排查,产品介绍主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(ma

MySQL数据库部署

人工服务操作MySQL数据库安装,包括MySQL数据库安装(linux),MySQL数据库安装(windows),MySQL主从(linux)以及MySQL数据库故障排查,MySQ产品介绍主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务

MySQL数据库安装

人工服务操作MySQL数据库安装,包括MySQL数据库安装(linux),MySQL数据库安装(windows),MySQL主从(linux)以及MySQL数据库故障排查产品介绍主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(mas

mysql数据库调优

调优的意义: 1、尽量减少数据冗余。 2、尽量避免数据维护中出现的更新插入和删除异常。 3、节约数据存储空间 4、提高查询的效率调优的意义: 1、尽量减少数据冗余。 2、尽量避免数据维护中出现的更新插入和删除异常。 例如表中的某个实体随着另一个实体而存在就会产生插入异常。或者如果

MySQL数据库恢复服务

公司自主研发MySQL数据库碎片寻址技术,最大程度对数据库误删除或覆盖恢复,勒索删库无备份无日志等极端情况的数据恢复,MySQL启动崩溃只有ibd,frm,myd等数据文件情况下的数据提取恢复,天凯科技荣获五星级服务商,云精英服务商,AAA诚信服务企业认证等荣誉资质。,天凯科技技

云数据库 MySQL (多版本可选)

由Websoft9提供的 MySQL 镜像环境,它基于 Docker 架构部署,默认开启远程访问,用户可一键部署。订阅此产品,您可以获得升级、变更、维护、救援等免费的技术支持服务。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL 是流行的关系型数据库管理系统之一,在

扁鹊飞救时钟同步系统

服务质量起到了重要的作用。时钟同步系统工作原理是由GPS母钟接收器从卫星单向获得时间、提供给ivt 时钟服务器,ivt 时钟服务器为全院系统内的PC机授时,墙上3G子钟通过CDMA接收3G基站时间。安装有IVT安卓时间同步软件和windows时间同步软件的设备通过3G专网获取ivt

DataX-OBS数据同步工具

DataX是开源的一个异构数据源离线同步工具,用来实现包括OBS、关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据同步DataX 是开源的一个异构数据源离线同步工具,用来实现包括OBS、关系型数据库(MySQL、Oracle等)、

[相似文章]MySQL数据库实时同步设置
mysql数据库的特点_mysql数据库同步_安装mysql数据库

MySQL数据库操作文档下载 mysql数据库 产品介绍 免费下载 mysql数据库 快速入门 免费下载 mysql数据库 用户指南 免费下载 mysql数据库 性能白皮书 免费下载 mysql数据库 最佳实践 免费下载 mysql数据库 安全白皮书 免费下载 mysql数据库 API参考 免费下载

mysql数据库免费吗_mysql在线数据库_mysql数据库下载

L的阻塞。 MySQL数据库 帮助文档免费下载 mysql数据库 产品介绍 免费下载 mysql数据库 快速入门 免费下载 mysql数据库 用户指南 免费下载 mysql数据库 性能白皮书 免费下载 mysql数据库 最佳实践 免费下载 mysql数据库 安全白皮书

MySQL数据库_查看MySQL数据库版本_免费MySQL数据库

云数据库TaurusDB规格变更 MySQL数据库数据库 GaussDB 华为新一代企业级分布式关系型数据库产品 了解更多 云数据库TaurusDB 华为新一代完全兼容MySQL的企业级数据库 立即前往 云数据库 RDS for MySQL 全球最受欢迎的开源数据库之一 立即下载 GeminiDB

MySQLdump导入数据库_MySQL建立数据库_MySQL数据库导出

MySQL数据库_【免费】_在线MySQL免费数据库_SQL数据库 mysql数据库的特点_mysql数据库同步_安装mysql数据库 免费云数据库_免费mysql数据库_rds数据库 MySQL连接数据库_MySQL创建数据库语句_MySQL怎么删除数据库 免费云服务器网站

mysql数据库入门_mysql数据库备份命令_mysql数据库导出

本课程主要讲述数据库性能调优的基本知识,阐述数据库调优方法,并基于GaussDB(for MySQL)讲解数据库调优理论。 MySQL数据库 入门指导帮助文档 MySQL数据库 产品介绍 立即下载 MySQL数据库 快速入门 立即下载 MySQL数据库 用户指南 立即下载 MySQL数据库 性能白皮书 立即下载

MySQL数据库基础知识_MySQL数据库备份_MySQL数据库教程

立即下载 MySQL数据库基础知识-性能白皮书 立即下载 MySQL数据库基础知识-最佳实践 立即下载 MySQL数据库基础知识-安全白皮书 立即下载 MySQL数据库基础知识-API参考 立即下载 MySQL数据库基础知识-SDK参考 立即下载 MySQL数据库教程 设置自动备份策略

MySQL数据库简介_MySQL数据库应用_MySQL授权多个数据库

password: YES) MySQL数据库应用相关推荐 MySQL数据库应用产品介绍 查看详情 MySQL数据库应用快速入门 查看详情 MySQL数据库应用内核介绍 查看详情 MySQL数据库应用用户指南 查看详情 MySQL数据库应用最佳实践 查看详情 MySQL数据库应用API参考 查看详情

MySQL创建数据库命令_MySQL查看数据库命令_如何安装MySQL数据库

MySQL数据库基础知识_MySQL数据库备份_MySQL数据库教程 MySQL数据库_【免费】_在线MySQL免费数据库_SQL数据库 mysql数据库的特点_mysql数据库同步_安装mysql数据库 免费云数据库_免费mysql数据库_rds数据库 MySQL连接数据库_MySQL创建数据库语句_MySQL怎么删除数据库

MySQL导出整个数据库_MySQL数据库引擎_MySQL数据库工具

MySQL数据库基础知识_MySQL数据库备份_MySQL数据库教程 MySQL数据库_【免费】_在线MySQL免费数据库_SQL数据库 mysql数据库的特点_mysql数据库同步_安装mysql数据库 免费云数据库_免费mysql数据库_rds数据库 MySQL连接数据库_MySQL创建数据库语句_MySQL怎么删除数据库

MySQL数据库实时同步设置

应用场景

CSS 服务的Logstash集群默认安装了logstash-input-jdbc插件,该插件为Logstash提供了从关系型数据库RDS MySQL中导入和处理数据的能力,通过配置Logstash配置文件,定义JDBC输入和Elasticsearch输出,实现定期同步数据库中的数据到Elasticsearch。该方案可以用于以下场景:
  • 数据实时更新与同步:将RDS MySQL中的数据实时同步到Elasticsearch,以便利用Elasticsearch强大的搜索和分析能力。
  • 日志分析 与检索:将MySQL中的日志数据同步到Elasticsearch,进行快速检索和分析。
  • 应用性能监控:将应用性能数据存储在MySQL中,通过Logstash同步到Elasticsearch,进行实时监控和性能分析。
  • 数据备份与恢复:通过Logstash将MySQL数据备份到Elasticsearch,以便在数据丢失或损坏时快速恢复。

方案架构

图1 RDS MySQL数据同步至Elasticsearch

使用Logstash将RDS MySQL数据同步至Elasticsearch的方案流程如图1所示。

CS S服务的Logstash中通过默认插件logstash-input-jdbc,在Logstash配置文件中配置数据库JDBC输入和Elasticsearch输出,将全量或增量RDS MySQL数据实时同步至Elasticsearch。

方案优势

  • 灵活性:Logstash提供了数据采集、转换、优化和输出的能力,可以灵活地处理各种数据同步需求。
  • 实时性:Logstash可以实现数据的准实时同步,满足大多数业务场景的需求。
  • 易用性:通过Logstash配置文件即可实现数据同步,操作简单,无需复杂的代码开发。

约束限制

  • Elasticsearch中的_id字段必须与MySQL中的id字段相同。

    这是为了确保当MySQL中的记录写入Elasticsearch时,同步任务可在MySQL记录与Elasticsearch索引之间建立一个直接映射的关系。例如,当MySQL中更新了某条记录时,同步任务会覆盖Elasticsearch中与更新记录具有相同ID的索引。

  • 当MySQL中插入或者更新数据时,对应记录必须有一个包含更新或插入时间的字段。

    Logstash在每次轮询MySQL时,会记录最后读取记录的时间戳,并在下一次读取时只获取该时间戳之后更新或插入的符合条件的记录。

  • 确保MySQL数据库、Logstash集群和Elasticsearch集群在同一时区,否则当同步与时间相关的数据时,同步前后的数据可能存在时区差。

前提条件

以上三者在同一 VPC 下面。

当使用的是自建或第三方MySQL数据库时,则需要确认数据库驱动是否是MariaDB驱动。
  • 是,则可以直接开始配置数据同步。
  • 否,则需要参考常见问题:MySQL驱动不兼容怎么办?上传与RDS版本兼容的SQL JDBC驱动到Logstash集群中。

操作步骤

  1. 验证Logstash集群和数据源之间的网络连通性。

    1. 登录 云搜索服务 管理控制台。
    2. 左侧导航栏选择“集群管理 > Logstash”,进入集群列表页面。
    3. 在集群列表,单击集群操作列的“配置中心”,进入配置中心页面。

      或者,在集群列表,单击集群名称,进入集群基本信息页面,在左侧导航栏选择“配置中心”,进入配置中心页面。

    4. 在配置中心页面,单击“连通性测试”
    5. 在连通性测试弹窗中,输入数据源、目的端的IP地址和端口号,单击“测试”

      连通性测试最多可一次性测试10个IP地址。您可以单击“继续添加”,添加多个IP地址,然后单击“批量测试”,进行一次性测试多个IP地址的连通性。

      图2 连通性测试

      当显示“可用”时,表示集群间网络连通。如果网络不连通,可以配置Logstash集群路由,连通集群间的网络,具体操作请参见配置Logstash集群路由

  2. 创建用于数据同步的Logstash配置文件。

    1. 在Logstash集群的配置中心页面,单击右上角“创建”,进入创建配置文件页面,编辑配置文件。
      表1 创建配置文件

      参数

      说明

      名称

      自定义配置文件名称。

      只能包含字母、数字、中划线或下划线,且必须以字母开头。必须大于等于4个字符。

      配置文件内容

      参考下面的代码示例开发配置文件内容。

      说明:

      配置文件内容大小不能超过100k。

      隐藏内容列表

      配置隐藏字符串列表后,在返回的配置内容中,会将所有在列表中的字串隐藏为“***”

      本案例不用配置。

      input {
        jdbc{
          # JDBC驱动配置。
          jdbc_driver_library => "/rds/datastore/logstash/v7.10.0/package/logstash-7.10.0/extend/jars/mariadb-java-client-2.7.0.jar"
          jdbc_driver_class => "org.mariadb.jdbc.Driver"
          jdbc_connection_string => "jdbc:mariadb://xxx.xxx.xxx.xxx:port/cms?useUnicode=true&characterEncoding=utf8mb4&autoReconnect=true&allowMultiQueries=true"
          jdbc_user => "root"
          jdbc_password => "xx"
          # 以下保持默认即可。
          jdbc_paging_enabled => "true"
          jdbc_page_size => "50000"
          # 迁移数据的SQL查询语句。
          statement => "select a.user_code  AS  doctor_id,a.record_status from cluster "
          # 定时任务,每5分钟同步一次,可以自定义。
          schedule => "*/5 * * * *"
        }
      }
      filter {
      
      }
      output {
        elasticsearch {
          hosts => ["xxx.xxx.xxx.xxx:port","xxx.xxx.xxx.xxx:port","xxx.xxx.xxx.xxx:port"]
          # 设置索引名称。
          index => "rds_doctor_index"
          user => "admin"
          password => "xx"
          # 索引中的文档id,建议和MySQL中表的主键名称保持一致。
          document_id => "%{primary_id}"
          # 目标Elasticsearch集群启用HTTPS访问时,才需要配置证书。
          ssl => true
          ssl_certificate_verification => false
          cacert => "/rds/datastore/logstash/v7.10.0/package/logstash-7.10.0/extend/certs"
          # 以下保持默认即可。
          manage_template => false
          ilm_enabled => false
        }
      }
      表2 配置项说明

      配置项名称

      是否必填

      说明

      input

      jdbc_driver_library

      JDBC驱动程序库路径。

      • 当数据库驱动是MariaDB驱动时,该值填写“/rds/datastore/logstash/v7.10.0/package/logstash-7.10.0/extend/jars/mariadb-java-client-2.7.0.jar”
      • 当数据库驱动是RDS版本兼容的SQL JDBC驱动时,该值需要联系技术支持修改。

      JDBC驱动相关的详细参数配置请参见Jdbc input plugin

      jdbc_driver_class

      驱动程序库的class路径。

      • 当数据库驱动是MariaDB驱动时,该值填写“org.mariadb.jdbc.Driver”
      • 当数据库驱动是RDS版本兼容的SQL JDBC驱动时,该值填写“com.mysql.jdbc.Driver”

      jdbc_connection_string

      MySQL JDBC的访问地址。

      • 当数据库驱动是MariaDB驱动时,该值填写“jdbc:mariadb://xxx.xxx.xxx.xxx:port/cms?useUnicode=true&characterEncoding=utf8mb4&autoReconnect=true&allowMultiQueries=true”
      • 当数据库驱动是RDS版本兼容的SQL JDBC驱动时,该值填写“jdbc:mysql://xxx.xxx.xxx.xxx:port/cms”

      其中“xxx.xxx.xxx.xxx:port”填写数据库实际访问地址和端口号。

      jdbc_user

      访问MySQL JDBC的用户名。

      jdbc_password

      访问MySQL JDBC的密码。

      statement

      迁移数据的SQL查询语句。

      schedule

      定时任务,支持自定义同步周期。

      output

      hosts

      Elasticsearch集群的访问地址。

      index

      设置索引名称,即数据导入到哪个索引。

      user

      访问Elasticsearch集群的用户名,仅安全集群涉及。

      password

      访问Elasticsearch集群的密码,仅安全集群涉及。

      document_id

      索引中的文档ID,建议和MySQL的记录ID(例如表的主键名称primary_id)保持一致。

      ssl

      是否开启HTTPS通信。

      当Elasticsearch集群启用HTTPS访问时,该值设置为“true”,否则不用配置。

      ssl_certificate_verification

      是否验证服务端Elasticsearch证书。仅当“ssl”配置为“true”时,才需要配置该参数。

      • true:验证证书。
      • false:忽略证书。

      cacert

      HTTPS访问证书,CSS集群保持默认值。

    2. 编辑完成后,单击“下一页”配置Logstash管道参数。本案例保持默认值即可。
    3. 配置完成后,单击“创建”

      在配置中心页面可以看到创建的配置文件,状态为“可用”,表示创建成功。

  3. 启动Logstash配置文件。

    1. 在配置文件列表,选择需要启动的配置文件,单击左上角的“启动”。
    2. “启动Logstash服务”对话框中,勾选“是否保持常驻”开启Logstash服务保持常驻。
    3. 单击“确定”,开始启动配置文件启动Logstash迁移任务。

      可以在管道列表看到启动的配置文件。

  4. 验证数据库和Elasticsearch集群的数据是否已同步。

    1. 云搜索 服务管理控制台,选择集群管理 > Elasticsearch
    2. 在Elasticsearch集群列表,单击集群操作列的“Kibana”,登录Kibana。
    3. 在左侧导航栏选择“Dev Tools”,进入Console页面。
    4. 执行如下命令查询索引数据。
      GET rds_doctor_index/_count 
      {  
        "query": {"match_all": {}}
      }

      当返回结果中,“count”的值不为0,则表示数据同步已成功。

常见问题:MySQL驱动不兼容怎么办?

在Logstash集群启动Logstash配置文件后,在Logstash管道运行状态异常,单击“运行日志”,可以日志中看到类似以下报错信息,则表示MySQL驱动不兼容。

[2024-05-21T11:31:00,196][ERROR][logstash.inputs.jdbc     ] Java::JavaSql::SQLSyntaxErrorException: (conn=-1409730930) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"T1" LIMIT 1' at line 1: SELECT count(*) AS "COUNT" FROM (select * from logstash_broker where updatetime+30000 > 0 order by updatetime) AS "T1" LIMIT 1

解决方案:

  1. 停止Logstash配置文件。
  2. 下载与RDS版本兼容的SQL JDBC驱动,例如“mysql-connector-java-8.0.11.tar.gz”,解压后获得“mysql-connector-java-8.0.11.jar”

    下载地址:https://downloads.mysql.com/archives/c-j/

  3. 联系技术支持,将SQL JDBC驱动jar包上传至用于同步数据的Logstash集群中。
  4. 修改Logstash配置文件内容。

    修改参数值“jdbc_driver_class”“jdbc_connection_string”。其中“xxx.xxx.xxx.xxx:port”填写数据库实际访问地址和端口号。

    jdbc_driver_class => "com.mysql.jdbc.Driver"
    # 填写为MySQL JDBC的访问地址。
    jdbc_connection_string => "jdbc:mysql://xxx.xxx.xxx.xxx:port/cms"
  5. 重新启动配置文件。

MySQL数据库实时同步设置常见问题

更多常见问题 >>