我正在使用mysql和vertica,并且有一个主/从mysql对,它以混合的binlog格式运行(默认设置)。
为了将其复制到vertica数据库进行一些分析任务,我正在考虑钨。
主程序忙于处理来自应用程序的读/写请求,而从服务器只是记录发生了什么,所以理想情况下,我希望在mysql从服务器上运行钨复制器,因为它也只是读取。
钨要求二进制日志采用基于行的格式,因此我在从服务器上启用了一个基于行的binlog,它创建了binlog和中继- binlog文件。因此,从从读取混合二进制日志从主,应用到它的数据库,并保持在中继-二进制日志的行格式的变化。目前一切都很好。
当我使用标准的-a --主从参数时,它似乎只查看只包含在从服务器上本地发生的事情的绑定日志,而不是中继绑定日志。
我发现的文档和帖子都指向在主服务器上运行钨,并在不使用mysql主/从模式的情况下使用它进行整个复制,而不是我所想到的那种混合模式。
然而,我更愿意保持什么工作,只是添加钨作为桥梁复制从mysql奴隶到vertica。
我该如何配置呢?
我如何告诉它,我想复制哪些表从奴隶到vertica,而不是复制所有?
配置细节:
/etc/my.cnf奴隶:
datadir=/var/lib/mysql
log-bin=/var/log/mysql/mysql-bin.log
expire_logs_days=7
# for tungsten replicator we need row based binlogs on the slave
binlog-format=row
## Server timezone is GMT.
#default-time-zone='+00:00'
# Tables default to UTF8.
character-set-server=utf8
collation-server=utf8_general_ci
server-id=3我用来表演钨的剧本:
tungsten-replicator-2.1.2-30/tools/tungsten-installer --master-slave -a \
--service-name=mysql2vertica \
--master-host=testslave1 \
--cluster-hosts=testslave1 \
--datasource-user=tungsten \
--datasource-password=supersecret \
--home-directory=/opt/tungsten \
--buffer-size=1000 \
--java-file-encoding=UTF8 \
--java-user-timezone=CDT \
--mysql-use-bytes-for-string=false \
--svc-extractor-filters=colnames,pkey \
--property=replicator.filter.pkey.addPkeyToInserts=true \
--property=replicator.filter.pkey.addColumnsToDeletes=true \
--start-and-report它似乎开始很好,它在网上说,但只是复制的是在二进制日志,而不是中继-二进制日志。
发布于 2013-10-03 21:46:48
我们成功地在我们的MySQL奴隶上运行钨,所以您想要做的事情绝对是可能的。
默认情况下,钨所期望的从不将传入的更改复制到传出的binlog中。。试着添加:
log-slave-updates=TRUE到您的my.cnf文件。
https://stackoverflow.com/questions/19164074
复制相似问题