增量備份其實就是開啟二進(jìn)制日志,保留每個操作的sql語句,然后定時備份那個日志文件,并進(jìn)行刷新以便生成新的日志文件
創(chuàng)新互聯(lián)公司主營紫陽網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件定制開發(fā),紫陽h5成都小程序開發(fā)搭建,紫陽網(wǎng)站營銷推廣歡迎紫陽等地區(qū)企業(yè)咨詢
1.在 /etc/my.cnf 下面設(shè)置開啟bin-log
編輯
vim /etc/my.cnf
[mysqld]
binlog_format = MIXED //binlog日志格式
log_bin =目錄/mysql-bin.log //binlog日志名
expire_logs_days = 7 //binlog過期清理時間
#max_binlog_size 100m //binlog每個日志文件大小 最大值和默認(rèn)是1個G
binlog-do-db=game #需要備份的數(shù)據(jù)庫名,如果備份多個數(shù)據(jù)庫,重復(fù)設(shè)置這個選項即可
binlog-do-db=platform #
#binlog-ignore-db=不需要備份的數(shù)據(jù)庫,如果備份多個數(shù)據(jù)庫,重復(fù)設(shè)置這個選項即可
2.創(chuàng)建遠(yuǎn)程登陸數(shù)據(jù)庫帳號
grant all privileges on game.* to 'jack'@'192.168.10.56' identified by 'admin'
grant all privileges on platform.* to 'jack'@'192.168.10.56' identified by 'admin'
3.將服務(wù)器上的數(shù)據(jù),導(dǎo)入一份進(jìn)遠(yuǎn)程服務(wù)器中
mysqldump -ujack -padmin -h192.168.10.38 備份數(shù)據(jù)庫地址(/home/mysql/db/mysql.sql);
4.寫Linux 計劃任務(wù):
vim /etc/crontab
在底部加入
0 3 * * * root sh /home/wwwroot/sh/mysqlbackup.sh #每天3點以root帳號的權(quán)限執(zhí)行目錄下的sh
重啟服務(wù)
同步業(yè)務(wù)庫的數(shù)據(jù)到ODS層,之前一直是全量同步數(shù)據(jù),主要考慮IO太大,耗時太長,重復(fù)拉取同樣的數(shù)據(jù),現(xiàn)在考慮增量同步的方式實現(xiàn),同時對庫表數(shù)據(jù)做分區(qū)。
增量同步主要分為兩步,第一步,存量數(shù)據(jù)一次性同步;第二步,在存量數(shù)據(jù)的基礎(chǔ)之上,做增量;后期的每一次同步都是增量同步。以下是具體同步方案:
用Sqoop同步表中全部數(shù)據(jù)到Hive表中;
a.根據(jù)hive中最大更新時間,用Sqoop提取更新時間為這個時間之后的增量數(shù)據(jù);
1)獲取表的所有列,把datetime和timestamp類型,統(tǒng)一在java中映射成TIMESTAMP類型,腳本如下:
2) 用sqoop import拉取數(shù)據(jù),腳本如下:
1)創(chuàng)建增量同步的sqoop job,腳本如下:
a、從hive中獲取表的最大更新時間
b、以上面獲取的最大更新時間,作為起點,創(chuàng)建sqoop job,腳本如下:
c、創(chuàng)建sqoop job之后,就是執(zhí)行job了,腳本如下:
具體參數(shù)詳解,參考:
導(dǎo)入時把生成索引給關(guān)掉,應(yīng)該能快一點.
不要一邊導(dǎo)入一邊建立索引.
8G數(shù)據(jù),應(yīng)該也不那么慢了.
把sql語句文件讀取出一部分看看,建表語句中,應(yīng)當(dāng)有建立索引的部分,刪掉它!
只做建表和插入數(shù)據(jù)兩件事.
還有,看看數(shù)據(jù)庫有沒有外鍵?
盡量在插入數(shù)據(jù)過程中去掉外鍵關(guān)聯(lián).
等數(shù)據(jù)插入完成之后再加索引和外鍵,應(yīng)該能提高很多讀寫性能.
截取一部分?jǐn)?shù)據(jù),例如100Mb.
插入一下試試,可以預(yù)先對整體時間有一個預(yù)期.
還有,真的要弄臺好點的電腦,或者去借一臺,等把數(shù)據(jù)導(dǎo)入完成之后,把msyql的庫文件直接復(fù)制出來放自己機器上跑就好.
emm..
再追加點信息,要先搞明白,sql原文件里,到底都執(zhí)行了哪幾類操作?
可能需要你用c之類寫點小工具,或者別的什么語言,分塊讀取并處理文件.
8G..
嗯,還好.
現(xiàn)在內(nèi)存都夠大,否則你都沒法直接用軟件打開了.
只有8G也可以直接用軟件打開看.
停掉索引真的可以大幅度加快插入數(shù)據(jù)的速度.
建議試一試!
大SQL文件導(dǎo)入數(shù)據(jù)庫的方法:
1、點擊"開始"-"運行",輸入cmd,然后回車進(jìn)入到DOS界面。
2、進(jìn)入MYSQL安裝目錄。
3、假如MYSQL安裝在D盤,SQL文件也在D盤,加入命名為demo.sql,操作的方法是:
輸入"D:",回車即進(jìn)入到D盤了,然后輸入"cd mysql/bin"并回車
4、再輸入"mysql -u root -p database d:/demo.sql",回車顯示要輸入密碼
5、如果MYSQL數(shù)據(jù)庫的密碼為空則不輸入任何東西回車,沒有出現(xiàn)錯誤說明導(dǎo)入成功。
注意:上面的database是要導(dǎo)入的數(shù)據(jù)庫名。
新聞名稱:mysql怎么增量導(dǎo)數(shù)據(jù) mysql增量導(dǎo)入數(shù)據(jù)
當(dāng)前鏈接:http://aaarwkj.com/article32/dooocsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、服務(wù)器托管、ChatGPT、網(wǎng)站設(shè)計公司、網(wǎng)站營銷、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)