otter双向同步配置

使用otter实现MySQL跨机房双向同步

  • 本文档基于已经搭建单向同步的基础进行双向同步功能扩展
  • 如果需要进行单向同步搭建,请参考上一篇文档(《otter单向同步配置》)
  • 保证所有node运行机器已经安装aria2

 

 在要进行双向同步的数据库执行以下语句 (记得修改密码)(主从库都要执行)


/* 供 otter 使用, otter 需要对 retl.* 的读写权限,以及对业务表的读写权限*/

/* 1. 创建database retl */
    CREATE DATABASE retl;

/* 2. 用户授权 给同步用户授权 */
    <! CREATE USER retl@'%' IDENTIFIED BY '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`@'%';   >

/* 3. 创建系统表 */
    <! USE retl; >
    USE otter;
    DROP TABLE IF EXISTS retl.retl_buffer;
    DROP TABLE IF EXISTS retl.retl_mark;
    DROP TABLE IF EXISTS retl.xdual;

    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();

 数据库配置(主从库都要修改,请保证server-id不相同)

    • 2
      点赞
    • 9
      收藏
      觉得还不错? 一键收藏
    • 1
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论 1
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值