日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

xtrabackup增量备份mysql +MHA

發(fā)布時(shí)間:2025/3/18 数据库 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xtrabackup增量备份mysql +MHA 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://blog.csdn.net/yanggd1987/article/category/2214421

https://www.centos.bz/2013/09/innobackupex-auto-backup-with-shell/

?

之前我們提到過(guò)xtrbackup備份mysql的幾種方式:完整備份、增量備份、部分備份等,但是在實(shí)際生產(chǎn)環(huán)境中用到最多的還是增量備份,下面我們就來(lái)寫一個(gè)腳本。

此腳本在https://www.centos.bz/2013/09/innobackupex-auto-backup-with-shell/基礎(chǔ)上重新修改。

?

[html]?view plain?copy
  • #!/bin/bash??
  • #??
  • #??
  • #note:周日作完整備份,其它時(shí)間增量備份;每次增量備份后,都將incr_basedir打包壓縮;若是本周最后一次增量備份,則備份完成后將本次備份內(nèi)容直接打包壓縮??
  • #每次備份的日志都會(huì)將其移動(dòng)到本次備份目錄中,如:0_innobackupex.log表示全備,1_innobackupex.log表示第一次增備??
  • #由于服務(wù)器空間有限,每周的做完整備份前會(huì)將上周的所有備份刪除??
  • #由于壓縮是對(duì)絕對(duì)路徑進(jìn)行壓縮,因此在使用tar命令進(jìn)行壓縮或解壓時(shí),都是用P參數(shù)或使用tar?-C??
  • #如果腳本停止或出錯(cuò)請(qǐng)到back_dir下查看日志,若此次備份沒(méi)有問(wèn)題,會(huì)將本次打印的日志轉(zhuǎn)移到備份目錄下??
  • ??
  • #定義相關(guān)變量??
  • backup_base=/data/mysqlbak??
  • full_backup_dir=$backup_base/mysql_full_backup??
  • incr_backup_dir=$backup_base/mysql_incr_backup??
  • sub_incr_dir=$(date?+%w)??
  • user=test??
  • password=test??
  • defaults_file=/etc/my.cnf??
  • #include_db="centos.*|mysql.*"??
  • error_lock_file=$backup_base/error.locked??
  • backup_dir=$backup_base/log??
  • ??
  • #innobackupex性能參數(shù)??
  • iops=400??
  • mem=1GB??
  • thread=4??
  • ??
  • #相關(guān)函數(shù)??
  • #檢查命令是否執(zhí)行成功??
  • if_sucess(){??
  • local?command="$1"??
  • $command??
  • if?[?$??-ne?0?];then??
  • echo?"error."??
  • touch?$error_lock_file??
  • exit?1??
  • fi??
  • }??
  • #檢查是否存在鎖文件,如果存在就退出。??
  • check_locked(){??
  • if?[?-f??"$error_lock_file"?];then??
  • echo?"error_lock_file?found"??
  • exit?1??
  • fi??
  • }??
  • ???
  • #壓縮上次備份完整或增量備份??
  • compress_old_backup(){??
  • if_sucess?"tar?czPf?${incr_base_dir}.tar.gz?$incr_base_dir"??
  • if_sucess?"mv?${incr_base_dir}.tar.gz?$backup_base/old"??
  • rm?-rf?$incr_base_dir??
  • }??
  • ??
  • #程序從這里開始??
  • check_locked??
  • mkdir?-p?$full_backup_dir?$incr_backup_dir?$backup_base/old?$backup_base/log??
  • #輸入日志相關(guān)??
  • backup_log=${backup_dir}/${sub_incr_dir}_innobackupex.log??
  • exec?100>?$backup_log??
  • exec?1>&100??
  • exec?2>&1??
  • echo?""??
  • echo?""??
  • echo?"################$(date?+%Y%m%d-%H:%M)?start?##################"??
  • ???
  • #周日就作完整備份,其它時(shí)間增量備份;每次增量備份后,都將basedir打包壓縮;若是本周最后一次增量備份,則備份完成后將本次備份內(nèi)容直接打包壓縮??
  • if?[?$sub_incr_dir?-eq?0?];then??
  • #刪除上周完成的所有備份??
  • echo?"################$(date?+%Y%m%d-%H:%M)?remove?old?backup?###################"??
  • rm?-rf?$backup_base/old/*??
  • echo?"################$(date?+%Y%m%d-%H:%M)?start?full?backup?###############"??
  • full_date=$(date?+%Y%m%d%H%M)??
  • if_sucess?"/usr/bin/innobackupex?--user=$user?--password=$password??--defaults-file=$defaults_file?--no-timestamp?--throttle=$iops?--use-memory=$mem?--parallel=$thread?$full_backup_dir/full${sub_incr_dir}_$full_date"???
  • echo?"incr_base_dir=$full_backup_dir/full${sub_incr_dir}_$full_date"?>?$backup_base/incr_base_dir.txt??
  • #轉(zhuǎn)移日志到此次備份目錄下??
  • if_sucess?"mv?$backup_log?$full_backup_dir/full${sub_incr_dir}_$full_date"??
  • else??
  • #獲取增量備份的basedir目錄??
  • [?-f?"$backup_base/incr_base_dir.txt"?]?&&?incr_base_dir=$(sed?-n?'$p'?$backup_base/incr_base_dir.txt?|?awk?-F=?'{print?$2}')?||?exit?1??
  • echo?"################$(date?+%Y%m%d-%H:%M)?start?incremental?backup?###############"??
  • incr_date=$(date?+%Y%m%d%H%M)??
  • if_sucess?"/usr/bin/innobackupex?--user=$user?--password=$password??--defaults-file=$defaults_file?--throttle=$iops?--use-memory=$mem?--incremental?--parallel=$thread?$incr_backup_dir/incr${sub_incr_dir}_${incr_date}?--no-timestamp??--incremental-basedir=$incr_base_dir"??
  • echo?"incr_base_dir=$incr_backup_dir/incr${sub_incr_dir}_${incr_date}"?>>?$backup_base/incr_base_dir.txt??
  • #轉(zhuǎn)移日志到此次備份目錄下??
  • if_sucess?"mv?$backup_log?$incr_backup_dir/incr${sub_incr_dir}_${incr_date}"??
  • echo?"################$(date?+%Y%m%d-%H:%M)?start?compress?$incr_base_dir?###############"??
  • [?-d?"$incr_base_dir"?]?&&?compress_old_backup??
  • #若是本周最后一次增量備份,則備份完成后將備份內(nèi)容直接打包壓縮??
  • [?$sub_incr_dir?-eq?6?]?&&?.?$backup_base/incr_base_dir.txt?&&?compress_old_backup??
  • fi??
  • exec?100>&-??
  • #將本地備份同步到異地??
  • echo?"################$(date?+%Y%m%d-%H:%M)?stop?##################"??
  • echo?""??
  • echo?""??
  • echo?"################$(date?+%Y%m%d-%H:%M)?rsync?start?##################"??
  • /usr/bin/rsync?-avz?--password-file=/etc/rsync.pas?$backup_base/old/?test@X.X.X.X::mysqlbak/??
  • echo?"################$(date?+%Y%m%d-%H:%M)?rsync?stop?##################"??

  • ?

    要點(diǎn):

    1.xtrabackup雖然支持異地備份,但是無(wú)法同時(shí)實(shí)現(xiàn)增量備份,因?yàn)樵隽總浞菪枰膇ncremental_basedir在異地,因此我們需要通過(guò)rsync同步

    2.xtrabackup增量備份無(wú)法啟用流壓縮,原因同樣需要incremental_basedir,因此我們腳本中每次會(huì)保留增量備份需要的incremental_basedir,使用完后再將其壓縮

    3.為避免xtrabackup備份過(guò)程影響mysql服務(wù)器性能并加快備份過(guò)程,需要設(shè)置相關(guān)參數(shù),具體情況根據(jù)服務(wù)器資源來(lái)設(shè)定。

    4.為方便查看打印日志,我們通過(guò)exec來(lái)記錄日志,最后不要忘記關(guān)閉exec的文件描述符

    ?

    實(shí)驗(yàn)過(guò)程中,200多個(gè)G 的數(shù)據(jù)庫(kù)完整備份需要30分鐘左右完成,增量備份只需10分鐘左右完成。

    ?

    最后,在備份完成后我們可以查看xtrabackup_info,如下:

    [html]?view plain?copy
  • uuid?=?1703dbc2-7cce-11e5-b351-b82a72d5ba07??
  • name?=??
  • tool_name?=?innobackupex??
  • tool_command?=?--user=xtrabak?--password=...?--defaults-file=/etc/my.cnf?--throttle=400?--use-memory=1GB?--incremental?--parallel=4?/data/mysqlbak/mysql_incr_backup/incr3_201510280101?--no-timestamp?--incremental-basedir=/data/mysqlbak/mysql_incr_backup/incr2_201510270101??
  • tool_version?=?1.5.1-xtrabackup??
  • ibbackup_version?=?xtrabackup?version?2.2.9?based?on?MySQL?server?5.6.22?Linux?(x86_64)?(revision?id:?)??
  • server_version?=?5.6.22-log??
  • start_time?=?2015-10-28?01:01:01??
  • end_time?=?2015-10-28?01:13:49??
  • lock_time?=?27??
  • binlog_pos?=?filename?'mysql-bin.000711',?position?721836584??
  • innodb_from_lsn?=?1021734207515??
  • innodb_to_lsn?=?1025349925630??
  • partial?=?N??
  • incremental?=?Y??
  • format?=?file??
  • compact?=?N??
  • compressed?=?N??
  • encrypted?=?N??
  • 來(lái)查看本次備份的start_tiime,end_time以及l(fā)ock_time,為什么會(huì)有l(wèi)ock_time呢?

    ?

    因此innobackupex先會(huì)備份innodb引擎的數(shù)據(jù)庫(kù),此過(guò)程不會(huì)鎖表;然后再全庫(kù)鎖表,備份myisam引擎的數(shù)據(jù)庫(kù),因此會(huì)有一個(gè)lock_time;從info信息中還可以得到其他可用信息。另innobackupex的全庫(kù)鎖表時(shí)也可能會(huì)導(dǎo)致整個(gè)備份過(guò)程很長(zhǎng)。

    ?

    與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的xtrabackup增量备份mysql +MHA的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美肥老妇视频 | 丰满岳乱妇一区二区三区 | 成人av福利 | 黄色国产大片 | 亚洲麻豆一区 | 久久国产三级 | 国产成人无码网站 | 精品视频三区 | 美景之屋电影免费高清完整韩剧 | 色香影视 | 久久久精品久久久久 | 性欧美lx╳lx╳ | www.色亚洲| 国产欧美一区二区三区国产幕精品 | 国产一区二区三区黄 | 中文字幕免费高 | jizzjizz黄大片| 女生和男生一起插插插 | 最新中文字幕免费视频 | 蜜臀av一区二区 | 制服.丝袜.亚洲.中文.综合 | 69亚洲精品久久久蜜桃小说 | www.好了av.com| 少妇一级淫片免费放播放 | 毛片视频在线免费观看 | 国产激情一区二区三区四区 | 久久精品视频久久 | 香港a毛片 | 插插插色综合 | 波多野结衣在线免费视频 | 久久综合色视频 | 亚洲午夜精品久久久久久人妖 | 网友自拍咪咪爱 | 日本成人免费视频 | 亚洲精品白虎 | 五月婷婷伊人网 | 激情欧美亚洲 | 91高潮大合集爽到抽搐 | 少妇高潮一区二区三区99 | 操操操干干干 | 久久久久这里只有精品 | 欧美熟妇精品一区二区 | 日本草草视频 | 漂亮人妻洗澡被公强 日日躁 | 天天躁夜夜躁狠狠躁 | 一级a毛片免费观看久久精品 | 日韩精品一区三区 | 色小姐综合网 | 国产aa毛片| 欧美午夜一区二区三区 | 久久国产精品二区 | 靠逼网站在线观看 | av网址在线 | 中文字幕22页 | 色狠久| 色导航在线 | 1000部国产精品成人观看 | 欧美大片免费高清观看 | 国产喷水吹潮视频www | 亚洲黄色精品 | 亚洲av区无码字幕中文色 | 亚洲成人一区二区三区 | 欧美日韩激情视频 | 九色精品在线 | 午夜私人福利 | 91国产视频在线播放 | 亚洲激情网站 | 亚洲美女在线播放 | 日本一本在线 | 久久国产精品国语对白 | 韩国不卡av | 日韩人妻精品一区二区三区 | jizz韩国| 激情五月深爱五月 | 久久网一区二区 | www.国产色| 在线99热| 碰碰97 | 成人一级片视频 | 韩国三级视频 | 五月婷婷,六月丁香 | 女人一区二区三区 | 久久久久婷婷 | 麻豆视频国产精品 | 无码人妻精品一区二区三区66 | 女性裸体下面张开 | 熟妇高潮一区二区三区 | 国产精品亚洲一区二区三区 | 国产精品麻豆成人av电影艾秋 | 久久国内精品 | 先锋影音制服丝袜 | 福利一区三区 | 日本国产视频 | 亚洲中文字幕无码一区二区三区 | 女人性高潮视频 | 69xx视频在线观看 | 成年人深夜福利 | 成年人看片网站 | 中文字幕+乱码+中文字幕一区 |