本文共 1233 字,大约阅读时间需要 4 分钟。
在前几节我们已经做好了关于otter的准备工作,配置好了zookeeper,manage和node,本节就来完成otter第一个实际功能,单相数据同步.单向数据同步可以解决跨机房主从的问题,所有读操作都能从本地的从库进行操作,而写可以通过外网连接到主服务器进行写入,并且通过otter同步到各个从服务器,可以很好地应对多机房读业务偏多的场景,那么话不多说就开始本节的正文吧!
附上:
喵了个咪的博客:
Otter项目地址:
Otter文档地址:
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;
到这里我们的准备工作就做好了
到这里就完成了一次单向同步的配置,我们所有的对master的操作都会同步到slave,但是slave是可以写的,所以一般会进行通过slave进行写操作保证数据的统一,后面的章节将会通过此机制慢慢讲解一些otter的特性已经双向同步的配置,在这里感谢大家的关注,有说的不对的地方还请大家多多指出!
注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!
转载地址:http://xissx.baihongyu.com/