当前位置: 首页 > news >正文

otter 自由门使用方法

otteer自由门完成全量数据同步方法:


一、先参考otter官方文档完成channel的配置

二、涉及的部分数据库操作
    (1)数据库账户授权
    CREATE USER retl@'%' IDENTIFIED BY 'retl';
    GRANT USAGE ON *.* TO `retl`@'%';
    GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO `retl`@'%';
    GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE ON `retl`.* TO `retl`@'%';
    /* 业务表授权,这里可以限定只授权同步业务的表 */
    GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO `retl`@'%';

    
    (2)删除现有的系统表
    DROP TABLE IF EXISTS retl.retl_buffer;
    DROP TABLE IF EXISTS retl.retl_mark;
    DROP TABLE IF EXISTS retl.xdual;


    (3)创建系统表
    CREATE TABLE retl_buffer
    (
    ID BIGINT(20) AUTO_INCREMENT,
    TABLE_ID INT(11) NOT NULL,
    FULL_NAME varchar(512),
    TYPE CHAR(1) NOT NULL,
    PK_DATA VARCHAR(256) NOT NULL,
    GMT_CREATE TIMESTAMP NOT NULL,
    GMT_MODIFIED TIMESTAMP NOT NULL,
    CONSTRAINT RETL_BUFFER_ID PRIMARY KEY (ID)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    CREATE TABLE retl_mark
    (
    ID BIGINT AUTO_INCREMENT,
    CHANNEL_ID INT(11),
    CHANNEL_INFO varchar(128),
    CONSTRAINT RETL_MARK_ID PRIMARY KEY (ID)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

    CREATE TABLE xdual (
    ID BIGINT(20) NOT NULL AUTO_INCREMENT,
    X timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (ID)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=UTF8;

    (4)插入初始化数据
    INSERT INTO retl.xdual(id, x) VALUES (1,now()) ON DUPLICATE KEY UPDATE x = NOW();
    (5)同步一条数据
     insert into `retl`.`retl_buffer` ( `TABLE_ID`, `FULL_NAME`, `TYPE`, `PK_DATA`, `GMT_CREATE`, `GMT_MODIFIED`) values ('4', 'db_user.t_user_test', 'I', '1', now(), NOW());

    (6)全量数据同步
     insert into retl.retl_buffer(ID,TABLE_ID, FULL_NAME,TYPE,PK_DATA,GMT_CREATE,GMT_MODIFIED) 
     (select null,4,'db_user.t_user_test','I',id,now(),now() from db_user.t_user_test); 

三、涉及的参考文献:
    https://www.modb.pro/db/562955


http://www.mrgr.cn/news/75237.html

相关文章:

  • 基于SDN的ddos攻击检测与防御
  • No one knows regex better than me
  • Windows安装ES单机版设置密码
  • Perl语言的网络编程
  • LeetCode热题100-二叉树的中序遍历【JavaScript讲解】
  • django在线考试系统
  • OpenGL 进阶系列08 - 天空盒实现
  • python习题练习
  • 【STM32外设系列】NRF24L01无线收发模块
  • 代码随想录算法训练营第45天 | 115.不同的子序列、583. 两个字符串的删除操作、72. 编辑距离
  • python os.path.join 详解
  • mysql锁机制详解
  • 刀客doc:《再见爱人4》能带动芒果TV的广告营收吗?
  • 【学习日记】notebook添加JAVA支持
  • Android Framework AMS(17)APP 异常Crash处理流程解读
  • 教你使用 Lisp 编写 ChatGPT 对话机器人
  • 解决 Mybatis-Plus 中 `updateById` 方法不更新空值、更新字段无效的问题
  • Altium Designer使用技巧(五)
  • 微服务day08
  • AUTOSAR_EXP_ARAComAPI的7章笔记(3)
  • 17-鸿蒙开发中的背景图片设置:位置、定位、单位和尺寸
  • Linux软件包管理与Vim编辑器使用指南
  • 绝对路径和相对路径的区别
  • 搜维尔科技:我们使用Xsens动作捕捉技术创建的短片
  • 行驶证 OCR 识别 API 接口的优势分析
  • Python中,处理日期和时间的库