我正在玩mysql和vertica,有一个主/从mysql对,运行混合binlog格式(默认设置)。
为了将其复制到vertica数据库中执行一些分析任务,我考虑使用钨。
主服务器忙于处理来自应用程序的读/写请求,而从服务器只是记录发生的事情,因此理想情况下,我希望在mysql从服务器上运行钨复制器,因为它也只是读取。
钨要求binlog是基于行的格式,所以我在从机上启用了基于行的binlog,这将创建binlog和中继binlog文件。因此,从机从主机读取混合binlog,应用于其数据库,并将中继binlog中的更改保持为基于行的格式。到目前为止一切都很好。
当我使用standard-a--master-slave参数时,它似乎只查看只包含从机上本地发生的事情的binlogs,而不查看中继binlogs。
我发现所有的文档和帖子都指向在主服务器上运行tungsten,并在不使用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
它的在线用户说,它看起来启动得很好,但只复制binlog中的内容,而不是中继binlog。
最佳答案
我们已经成功地在MySQL从机上运行了Tungsten,所以您希望做的绝对是可能的。
默认情况下,从does not copy incoming changes to the outgoing binlog钨期待他们。尝试添加:
log-slave-updates=TRUE
到你的my.cnf文件。
关于mysql - 从mysql奴隶到vertica的钨复制-似乎不看中继日志?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19164074/