searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

一种基于MySQL_Binlog提取配置数据变更脚本的方法

2024-06-12 08:11:37
12
0

本文提出一种基于MySQL Binlog提取系统配置数据变更脚本的方法的工作原理如图所示

1、获取:同步任务启动时,与任务中指定的MySQL建立连接,并模拟MySQL复制,向MySQL发送Binlog Dump命令。Dump命令中包含了Binlog Filename和Binlog Position两个参数,分别表示Binlog 文件名和Binlog文件中偏移位置,这两个参数确定了复制的位置。MySQL收到Dump命令后,会通过Binlog Dump线程,将Binlog Filename和Binlog Position确定的位置之后的所有记录在Binlog 文件中的Binlog事件推送过来。当发生新的变更时,MySQL再将该变更以Binlog事件的形式写入Binlog文件的同时,还会通过Binlog Dump线程将Binlog事件发送出来。在接收到Binlog事件时,对这些事件进行解析,从而获取完整的数据变更。

2、存储:在获取到数据变更后,将数据变更发布到分布式消息中间件,由消息中间件负责存储变更。

3、解析:从消息中间件订阅这些变更,解析生成sql语句。

4、清洗:对sql语句进行筛选,只关注指定的数据库表变更记录,排除无关数据,每张表维护一个变更队列;

5、改写:针对每个表提供可拓展的改写接口,如去掉自增字段,补全序列值等操作;

6、生成:当版本升级或者数据库迁移时,可根据序列生成适用于不同数据库的类型(如MySQL、PostgreSQL等)的变更脚本;

7、执行:版本升级时,在目标数据库执行变更脚本;

8、归档:每一次生成提取的Binlog记录进行归档。

0条评论
0 / 1000
周****娟
1文章数
0粉丝数
周****娟
1 文章 | 0 粉丝
周****娟
1文章数
0粉丝数
周****娟
1 文章 | 0 粉丝
原创

一种基于MySQL_Binlog提取配置数据变更脚本的方法

2024-06-12 08:11:37
12
0

本文提出一种基于MySQL Binlog提取系统配置数据变更脚本的方法的工作原理如图所示

1、获取:同步任务启动时,与任务中指定的MySQL建立连接,并模拟MySQL复制,向MySQL发送Binlog Dump命令。Dump命令中包含了Binlog Filename和Binlog Position两个参数,分别表示Binlog 文件名和Binlog文件中偏移位置,这两个参数确定了复制的位置。MySQL收到Dump命令后,会通过Binlog Dump线程,将Binlog Filename和Binlog Position确定的位置之后的所有记录在Binlog 文件中的Binlog事件推送过来。当发生新的变更时,MySQL再将该变更以Binlog事件的形式写入Binlog文件的同时,还会通过Binlog Dump线程将Binlog事件发送出来。在接收到Binlog事件时,对这些事件进行解析,从而获取完整的数据变更。

2、存储:在获取到数据变更后,将数据变更发布到分布式消息中间件,由消息中间件负责存储变更。

3、解析:从消息中间件订阅这些变更,解析生成sql语句。

4、清洗:对sql语句进行筛选,只关注指定的数据库表变更记录,排除无关数据,每张表维护一个变更队列;

5、改写:针对每个表提供可拓展的改写接口,如去掉自增字段,补全序列值等操作;

6、生成:当版本升级或者数据库迁移时,可根据序列生成适用于不同数据库的类型(如MySQL、PostgreSQL等)的变更脚本;

7、执行:版本升级时,在目标数据库执行变更脚本;

8、归档:每一次生成提取的Binlog记录进行归档。

文章来自个人专栏
小哈Deutsch
1 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0