? 首先,我們需要開啟MySQL服務(wù)器的二進(jìn)制日志功能,其實(shí)現(xiàn)方法有很多種,最常用的是在MySQL的配置文件的mysqld項(xiàng)中加入log-bin=[filepath]項(xiàng);也可以使用mysqld –log-bin=[filepath]重新啟動(dòng)MySQL服務(wù)器。

創(chuàng)新互聯(lián)秉承實(shí)現(xiàn)全網(wǎng)價(jià)值營銷的理念,以專業(yè)定制企業(yè)官網(wǎng),做網(wǎng)站、成都網(wǎng)站制作,微信平臺(tái)小程序開發(fā),網(wǎng)頁設(shè)計(jì)制作,移動(dòng)網(wǎng)站建設(shè),全網(wǎng)營銷推廣幫助傳統(tǒng)企業(yè)實(shí)現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級(jí)專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對(duì)客戶都以感恩的心態(tài)奉獻(xiàn)自己的專業(yè)和所長。
? 其次,使用mysqldump對(duì)數(shù)據(jù)庫進(jìn)行完全備份,它可以實(shí)現(xiàn)對(duì)數(shù)據(jù)據(jù)的聯(lián)機(jī),非阻塞的熱備份,不會(huì)影響其他進(jìn)程對(duì)數(shù)據(jù)庫的讀寫操作。(參考指令:mysqldump -uroot --password=123 --single-transaction --flush-logs --master-data=2 --all-databases --delete-master-logs d:/mysql5.0/full_%date:~0,10%_1500_PM.sql)
? 第三,使用flush logs指令刷新創(chuàng)建新的二進(jìn)制日志。可以通過mysqladmin flush logs或者flush logs語句實(shí)現(xiàn)。最方便有效的方法是將它做成批處理文件,然后讓操作系統(tǒng)定期執(zhí)行。
? 使用mysql *.sql進(jìn)行完全備份的恢復(fù)。
同步業(yè)務(wù)庫的數(shù)據(jù)到ODS層,之前一直是全量同步數(shù)據(jù),主要考慮IO太大,耗時(shí)太長,重復(fù)拉取同樣的數(shù)據(jù),現(xiàn)在考慮增量同步的方式實(shí)現(xiàn),同時(shí)對(duì)庫表數(shù)據(jù)做分區(qū)。
增量同步主要分為兩步,第一步,存量數(shù)據(jù)一次性同步;第二步,在存量數(shù)據(jù)的基礎(chǔ)之上,做增量;后期的每一次同步都是增量同步。以下是具體同步方案:
用Sqoop同步表中全部數(shù)據(jù)到Hive表中;
a.根據(jù)hive中最大更新時(shí)間,用Sqoop提取更新時(shí)間為這個(gè)時(shí)間之后的增量數(shù)據(jù);
1)獲取表的所有列,把datetime和timestamp類型,統(tǒng)一在java中映射成TIMESTAMP類型,腳本如下:
2) 用sqoop import拉取數(shù)據(jù),腳本如下:
1)創(chuàng)建增量同步的sqoop job,腳本如下:
a、從hive中獲取表的最大更新時(shí)間
b、以上面獲取的最大更新時(shí)間,作為起點(diǎn),創(chuàng)建sqoop job,腳本如下:
c、創(chuàng)建sqoop job之后,就是執(zhí)行job了,腳本如下:
具體參數(shù)詳解,參考:
根據(jù)增量需求更改你的原始表,例如增加update_time時(shí)間戳字段,根據(jù)更新時(shí)間獲取增量,注意刪除操作,可以通過設(shè)置刪除標(biāo)記字段來表示,不要進(jìn)行物理刪除。
mysql主從備份,根據(jù)binlog來實(shí)時(shí)同步更新變化。或者自己拉取binlog解析,更新目標(biāo)數(shù)據(jù)
本文題目:mysql怎么做增量更新,mysql自動(dòng)增量
網(wǎng)站URL:http://chinadenli.net/article49/dsshehh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、、Google、移動(dòng)網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)