StreamSets:MySQL Binary Log

? ? ? ?MySQL Binary Log Origin通過MySQL服務(wù)器提供的binary logs處理CDC。
? ? ? ?MySQL Binary Log Origin充當(dāng)MySQL復(fù)制的從服務(wù)器厘熟。MySQL復(fù)制允許您通過將數(shù)據(jù)從主服務(wù)器復(fù)制到從服務(wù)器來維護MySQL數(shù)據(jù)的多個副本拒啰。origin使用復(fù)制過程從MySQL主數(shù)據(jù)庫捕獲更改扎附,然后將更改的數(shù)據(jù)傳遞到數(shù)據(jù)收集器管道膨处。
? ? ? ?Origin可以從啟用或禁用全局事務(wù)標(biāo)識符(GTID)的MySQL服務(wù)器處理binary logs健爬。GTID是分配給MySQL服務(wù)器數(shù)據(jù)庫中發(fā)生的每個事務(wù)的惟一事務(wù)ID。
? ? ? ?MySQL Binary Log只處理變化數(shù)據(jù)幔欧。它為INSERT罪治、UPDATE丽声、和DELETE操作創(chuàng)建記錄。它為binary logs中記錄的每個更改生成一條記錄觉义。
? ? ? ?生成的記錄包括CDC信息字段的映射雁社。它還在記錄頭屬性中包含CRUD操作類型,這樣生成的記錄可以由啟用CRUD的destinations輕松處理晒骇。
? ? ? ?如果需要的話霉撵,可以在使用MySQL Binary Log Origin啟動pipeline之前,在單獨的pipeline中使用JDBC Multitable Consumer或JDBC Query Consumer從MySQL數(shù)據(jù)庫讀取現(xiàn)有數(shù)據(jù)厉碟。必要時喊巍,還應(yīng)該配置MySQL Binary Log pipeline來修改生成的記錄屠缭。
? ? ? ?在配置origin之前箍鼓,必須完成幾個先決條件,其中包括(1)為MySQL服務(wù)器配置row-based logging韵卤;(2)安裝JDBC驅(qū)動程序殊橙。
? ? ? ?在配置MySQL Binary Log時退盯,需要配置用于讀取日志文件的數(shù)據(jù)庫服務(wù)器☆硌辏可以配置Origin從頭讀取二進制日志文件,也可以指定偏移量來確定Origin從何處開始讀取數(shù)據(jù)跨新。

一.先決條件

? ? ? ?在讀取MySQL二進制日志以生成更改數(shù)據(jù)捕獲記錄之前富腊,必須完成以下先決條件:
(1)配置MySQL服務(wù)器使用row-based logging。
(2)安裝MySQL JDBC Driver域帐。

1.配置MySQL服務(wù)器使用row-based logging赘被。

? ? ? ?Mysql的binlog有三種格式,分別是Statement肖揣、Row以及Mixed民假。下面介紹Row格式:
? ? ? ?Row模式下的binlog不記錄sql語句上下文相關(guān)信息,僅保存哪條記錄被修改龙优。其缺點是可能會產(chǎn)生大量日志內(nèi)容羊异,比如一條update語句,修改多條記錄彤断,則binlog中每一條修改都會有記錄野舶,這樣造成binlog日志量會很大,特別是當(dāng)執(zhí)行alter table之類的語句的時候宰衙,由于表結(jié)構(gòu)修改筒愚,每條記錄都發(fā)生改變,那么該表每一條記錄都會記錄到日志中菩浙。

2.安裝JDBC驅(qū)動

? ? ? ?MySQL JDBC驅(qū)動必須位于外部目錄的MySQL Binary Log子目錄中巢掺。例如:/opt/sdc-extras/streamsets-datacollector-mysql-binlog-lib/lib/句伶。

二.Initial Offset(初始偏移量)

? ? ? ?可以配置Origin從文件的開頭或文件中的初始偏移量開始讀取二進制日志文件。
? ? ? ?初始偏移量是二進制日志文件中希望開始處理的點陆淀。啟動pipeline時考余,MySQL Binary Logs Origin從初始偏移量開始處理,并一直持續(xù)到停止管道轧苫。
? ? ? ?用于配置初始偏移量的格式取決于MySQL服務(wù)器是否啟用全局事務(wù)標(biāo)識符(GTID):

GTID enabled:
MySQL Binary Logs Origin要求初始偏移量包含GTID楚堤,格式如下:

<source_id>:<transaction_id>
例如:
8720bebf-bb38-11e6-97b1-0242ac110004:7066

GTID disabled:
MySQL Binary Logs Origin要求初始偏移量包含二進制日志文件名和文件中的位置,格式如下:

<binary log file name>:<position>
例如:
mysql-bin.000004:587

三.Generated Records(產(chǎn)生記錄)

? ? ? ?MySQL Binary Logs Origin為二進制日志中記錄的每個事務(wù)生成一條記錄含懊。記錄包括字段和記錄頭屬性身冬,其中包含包含操作類型、變化數(shù)據(jù)捕獲信息和變化數(shù)據(jù)岔乔。其詳細(xì)格式如下:

(1)CRUD operation type
? ? ? ?CRUD操作存儲在TYPE字段中酥筝,也包含在記錄頭屬性的sdc.operation.type中。

(2)Change data capture information
? ? ? ?有以下字段:

  • BinLogFilename - when GTID is disabled
  • BinLogPosition- when GTID is disabled
  • SeqNo - when GTID is enabled
  • GTID - when GTID is enabled
  • Table
  • ServerId
  • Database
  • Timestamp
  • Offset

(3)new data
? ? ? ?插入或更新的新數(shù)據(jù)出現(xiàn)在data map字段中雏门。

(4)changed data
? ? ? ?被更新的老數(shù)據(jù)或刪除的記錄出現(xiàn)在olddata map字段中嘿歌。

? ? ? ?如下圖所示:


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市茁影,隨后出現(xiàn)的幾起案子宙帝,更是在濱河造成了極大的恐慌,老刑警劉巖募闲,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件步脓,死亡現(xiàn)場離奇詭異,居然都是意外死亡浩螺,警方通過查閱死者的電腦和手機靴患,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來年扩,“玉大人蚁廓,你說我怎么就攤上這事〕茫” “怎么了相嵌?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長况脆。 經(jīng)常有香客問我饭宾,道長,這世上最難降的妖魔是什么格了? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任看铆,我火速辦了婚禮,結(jié)果婚禮上盛末,老公的妹妹穿的比我還像新娘弹惦。我一直安慰自己否淤,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布棠隐。 她就那樣靜靜地躺著石抡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪助泽。 梳的紋絲不亂的頭發(fā)上啰扛,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天,我揣著相機與錄音嗡贺,去河邊找鬼隐解。 笑死,一個胖子當(dāng)著我的面吹牛诫睬,可吹牛的內(nèi)容都是我干的煞茫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼岩臣,長吁一口氣:“原來是場噩夢啊……” “哼溜嗜!你這毒婦竟也來了宵膨?” 一聲冷哼從身側(cè)響起架谎,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎辟躏,沒想到半個月后谷扣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡捎琐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年会涎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瑞凑。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡末秃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出籽御,到底是詐尸還是另有隱情练慕,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布技掏,位于F島的核電站铃将,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏哑梳。R本人自食惡果不足惜劲阎,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鸠真。 院中可真熱鬧悯仙,春花似錦龄毡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至偎捎,卻和暖如春蠢终,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背茴她。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工寻拂, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人丈牢。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓祭钉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親己沛。 傳聞我的和親對象是個殘疾皇子慌核,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容