Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
钨从mysql从复制到vertica-似乎不看中继日志?_Mysql_Replication_Master Slave_Vertica_Tungsten Replicator - Fatal编程技术网

钨从mysql从复制到vertica-似乎不看中继日志?

钨从mysql从复制到vertica-似乎不看中继日志?,mysql,replication,master-slave,vertica,tungsten-replicator,Mysql,Replication,Master Slave,Vertica,Tungsten Replicator,我在玩mysql和vertica,有一对主/从mysql,它以混合binlog格式(默认设置)运行 为了将其复制到vertica数据库中进行一些分析任务,我正在考虑使用钨 主程序忙于处理来自应用程序的读/写请求,而从程序只是记录正在发生的事情,因此理想情况下,我希望在mysql从程序上运行Worth replicator,因为它也只进行读取 worth要求binlog采用基于行的格式,因此我在从机上启用了基于行的binlog,这将创建binlog和中继binlog文件。因此,从机从主机读取混合b

我在玩mysql和vertica,有一对主/从mysql,它以混合binlog格式(默认设置)运行

为了将其复制到vertica数据库中进行一些分析任务,我正在考虑使用钨

主程序忙于处理来自应用程序的读/写请求,而从程序只是记录正在发生的事情,因此理想情况下,我希望在mysql从程序上运行Worth replicator,因为它也只进行读取

worth要求binlog采用基于行的格式,因此我在从机上启用了基于行的binlog,这将创建binlog和中继binlog文件。因此,从机从主机读取混合binlog,应用于其数据库,并以基于行的格式保留中继binlog中的更改。到目前为止一切都很好

当我使用标准的-a--master-slave参数时,它似乎只是查看只包含在从机上本地发生的事情的binlog,而不是中继binlog

我发现的文档和帖子都指向在主机上运行worth,并在整个过程中使用worth进行复制,而不使用mysql主/从模式,而不是我心目中的混合模式

然而,我更愿意让它继续工作,只是添加worth作为从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从机上成功运行Wonder,因此您希望做的事情绝对是可能的

默认情况下,钨丝所期望的从机。尝试添加:

log-slave-updates=TRUE

到您的my.cnf文件。

太棒了!我现在记得,我曾在某处看到过这句话的推荐,但后来就忘了。现在,我要做的就是找出为什么vertica端的复制失败,无法从stage表中删除数据:……我也明白了,需要同时使用staging和non-staging模板运行ddl扫描。下一个任务:如何声明要提取和应用哪些表,而不是全部…:)