Otter+Canal入门篇(4)

前言

在前几节我们已经做好了关于otter的准备工作,配置好了zookeeper,manage和node,本节就来完成otter第一个实际功能,单相数据同步.单向数据同步可以解决跨机房主从的问题,所有读操作都能从本地的从库进行操作,而写可以通过外网连接到主服务器进行写入,并且通过otter同步到各个从服务器,可以很好地应对多机房读业务偏多的场景,那么话不多说就开始本节的正文吧!

附上:

喵了个咪的博客:w-blog.cn

Otter项目地址:https://github.com/alibaba/otter

Otter文档地址:https://github.com/alibaba/otter/wiki

1. 准备工作

Mysql多实例可以通过mysqld_multi进行配置,资料也比较多这里不详细说明了.

笔者这里准备了两个mysql实例来做同步,均采用mysql5.6:

10.144.159.182(master)

10.163.122.106(slave)

我们还需要检查一下数据库配置,编辑/etc/my.cnf,检查一下配置

binlog_format=ROW #修改成ROW

server-id = 1 #不同mysql的server-id设置为不同的值

应为后续需要进行测试单机本地测试不能很好的反应实际情况这里,从新建立了一台服务器单独搭建了一个mysql实例(mysql5.6)来作为同步的从库,方便后续的性能测试

这里简单建立一个数据库,这么名字取为ottertest,建立如下表结构,并且分别建立在两个mysql中

特别注意:库名中千万不要带有符号比如”-“这种符号会直接引起同步开启不成功


CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `phone` varchar(255) NOT NULL,
  `time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

到这里我们的准备工作就做好了

2. 配置manage

(一)首先我们需要配置数据连接也就是数据源

image

image

Imgur

Imgur

Imgur

(二)配置好数据源后进行需要同步的数据表的配置

Imgur

Imgur

Imgur

Imgur

(三)配置同步规则

Imgur

Imgur

Imgur

Imgur

Imgur

Imgur

Imgur

Imgur

Imgur

Imgur

Imgur

(四)开启数据同步

Imgur

Imgur

Imgur

3. 总结

到这里就完成了一次单向同步的配置,我们所有的对master的操作都会同步到slave,但是slave是可以写的,所以一般会进行通过slave进行写操作保证数据的统一,后面的章节将会通过此机制慢慢讲解一些otter的特性已经双向同步的配置,在这里感谢大家的关注,有说的不对的地方还请大家多多指出!

猜你喜欢

转载自blog.csdn.net/crazyhuntsman/article/details/82116960