我正在玩mysql和vertica,並有一個以混合binlog格式運行的主/從mysql對(默認設置)。鎢複製從MySQL奴隸到vertica - 似乎沒有看看繼電器日誌?
爲了將這個複製到Vertica數據庫以進行一些分析任務,我正在考慮使用鎢。
主人忙於應用程序的讀/寫請求,從服務器正在記錄發生了什麼事情,所以理想情況下我想在mysql從服務器上運行鎢複製器,因爲它只讀。
鎢要求二進制日誌是在基於行的格式,所以我啓用的奴隸,它創建二進制日誌和中繼二進制日誌文件基於行的二進制日誌。所以從服務器從主服務器讀取混合二進制日誌,應用於其數據庫,並將更改保留在基於行的格式的relay-binlog中。一切都很好。
當我使用它出現在標準-a --master - 從參數只能看着只包含的東西,就從本地發生的binlogs,但不是中繼binlogs。
的文檔和帖子,我發現所有的點在主運行鎢,並用它來複制整個不使用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中的內容,而不能複製relay-binlog。
太棒了!我現在記得曾經在某處看到過這個聲明,然後錯過了它。有了它,它現在按預期工作。 –
現在我要做的是找出爲什麼複製失敗的Vertica端無法從階段表中刪除數據:... –
也想到了這一點,需要運行ddl掃描與分段和非分段模板。下一個任務:如何聲明提取和應用哪個表格而不是所有... :) –