• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            mysql備份數據(mysql備份數據庫的sql語句)

            更新時間:2023-03-01 16:17:26 閱讀: 評論:0

            由于mysql存在多種數據庫備份方式,而且各有利弊,個人覺得,首先要基于公司的需求,考慮能夠容忍丟失多少數據、花多少人力時間成本等,這是我們制定備份方案的依據,同時制定出來的方案要可執行,要執行,不能把方案當作紙上談兵。下面我把我們實際的備份方案整理出來。

            作為數據安全的一個重要內容——數據備份的重要性往往被人們所忽視。只要發生數據傳輸、數據存儲和數據交換,就有可能產生數據故障。這時,如果沒有采取數據備份和數據恢復手段與措施,就會導致數據的丟失,有時造成的損失是無法彌補與估量的。結合我們前公司線上業務的實際情況,我們之前的備份方案,主要采取全備+binlog備份方式。其中全備分為邏輯備份+物理備份,同時主從復制也作為一種備份的方式存在,從而最大程度降低數據故障帶來的風險。

            一、數據備份部分1、邏輯備份

            · 應用場景

            邏輯備份,我們主要用在當數據量較小時,數據庫出現數據故障,對于恢復時間要求不高;搭建主從環境,搭建測試環境及備用庫等方面。

            · 備份時間及地點

            每日凌晨3:00在從庫上備份,備份文件存放在從庫上的/data/back/mysql/

            ,當然如果有充足的機器,更安全的方式是備份到遠程服務器。

            · 備份方式

            采用mysqldump進行全庫備份,通過定時任務,定時執行shell備份腳本。

            1)全備腳本如下:

            #!/bin/bash

            bakdir=/data/back/mysql/full/

            datetime=`date +%Y%m%d%H%M%S`

            ur=root

            password=123456789

            mysqldump=/usr/bin/mysqldump

            echo "`date` 開始全備" >>$bakdir/bak.log

            echo "------show master status--------------" >>$bakdir/bak.log

            echo "`mysql -u${ur} -p${password} -e 'show master status;'` " >>$bakdir/bak.log

            $mysqldump -u${ur} -p${password} -B -A --single-transaction --flush-logs --master-data=2 --events |gzip > ${bakdir}/all-${datetime}.sql.gz

            if [ $? -eq 0 ];then

            echo "`date` 全備成功" >>$bakdir/bak.log

            el

            echo "`date` 全備失敗" >>$bakdir/bak.log

            # echo "`date` 全備失敗" |mail -s "`date` 全備失敗" 郵箱地址參數值

            fi

            2)增量備份全庫腳本

            #!/bin/bash

            # u cp to backup mysql data everyday!

            BakDir=/data/back/mysql/zl

            BinDir=/var/lib/mysql/

            LogFile=/data/back/mysql/zl/bak.log

            BinFile=/var/lib/mysql/mysql-bin.index

            mysqladmin -uroot -p123456789 flush-logs

            #這個是用于產生新的mysql-bin.00000*文件

            Counter=`wc -l $BinFile |awk '{print $1}'`

            NextNum=0

            #這個for循環用于比對$Counter,$NextNum這兩個值來確定文件是不是存在或最新的

            for file in `cat $BinFile`

            do

            ba=`baname $file`

            #baname用于截取mysql-bin.00000*文件名,去掉./mysql-bin.000005前面的./

            NextNum=`expr $NextNum + 1`

            if [ $NextNum -eq $Counter ]

            then

            echo $ba skip! >> $LogFile

            el

            dest=$BakDir/$ba

            if(test -e $dest)

            #test -e用于檢測目標文件是否存在,存在就寫exist!到$LogFile去

            then

            echo $ba exist! >> $LogFile

            el

            cp $BinDir/$ba $BakDir

            echo $ba copying >> $LogFile

            fi

            fi

            done

            echo `date +"%Y年%m月%d日 %H:%M:%S"` $Next Bakup succ! >> $LogFile

            3)定時任務

            每個星期日凌晨3:00執行完全備份腳本

            0 3 * * 0 /bin/bash /data/script/msyql_bak/mysql_full_bak.sh >/dev/null 2>&1

            #周一到周六凌晨3:00做增量備份

            0 3 * * 1-6 /bin/bash /data/script/msyql_bak/mysql_zl_bak.sh >/dev/null 2>&1

            2、物理備份

            · 應用場景

            主要應對要求恢復時間較高;數據量比較大;

            · 備份時間及地點

            每周一凌晨3:00在主庫上備份。備份文件存放遠程服務器目錄下

            · 備份方式

            采用percona的社區工具innobackupex,該工具可以在線熱備,不影響線上的業務。

            以上兩種方式的備份只能恢復某段時間的數據,對于按照時間點的恢復是無能為力的,那怎么辦呢?binlog日志,是的,我們采取的是實時同步binlog日志到遠程服務器上,這樣理論上是可以恢復到任意時間點的。

            3、binlog備份

            · 應用場景

            對于一些由于錯誤操作等造成數據丟失錯誤的,需要按照時間點進行還原的情況下。

            · 備份時間及地點

            備份服務器實時將主庫上binlog同步到遠程服務器上。

            · 備份方式

            mysqlbinlog工具進行日志拉取,shell腳本如下:

            mysqlbinlog --read-from-remote-rver --host=1.1.1.1 --port=3306 --ur="backup" --password="backup" --raw --stop-never mysql-bin.000840 --result-file=/data/backup/binlog/

            經過以上三種結合的備份方式,基本上可以滿足在數據異常丟失情況下,恢復到正常狀態。

            4、主從復制

            · 應用場景

            主要應用于讀寫分離,故障轉移的情況下

            · 備份時間及地點

            幾乎可以認為是同步進行數據的復制

            · 備份方式

            采用mysql提供的復制技術

            對于主從復制,如果用于備庫的話,最好是讓sql_thread執行慢一段時間,可以是1天。這個結合實際情況,自己選擇。

            二、數據恢復與測試部分

            備份文件有了之后還需要對其定期的進行恢復測試,不然可能是白忙一場。因為很多情況下,有些備份文件可能已經損壞。當我們遇到數據丟失故障時,在緊急關頭,竟然發現備份的文件無法恢復或者數據一致性和完整性沒有達到要求,如果我們定期的對備份文件進行恢復測試,這種悲劇可能就不會發生。

            1 恢復時間及地點

            每周進行一次恢復測試,主要在測試機上進行

            2 恢復方式

            模擬某個時間點主機數據全部丟失,要求恢復到丟失時間點的所有數據,先進行全備恢復,然后根據binlog恢復到最近時間點。

            本文發布于:2023-02-28 20:09:00,感謝您對本站的認可!

            本文鏈接:http://m.newhan.cn/zhishi/a/167765864677332.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:mysql備份數據(mysql備份數據庫的sql語句).doc

            本文 PDF 下載地址:mysql備份數據(mysql備份數據庫的sql語句).pdf

            標簽:備份   語句   數據庫   數據   mysql
            相關文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 日本中文字幕久久网站| 国产毛片三区二区一区| 夜夜春久久天堂亚洲精品| 无码伊人久久大杳蕉中文无码| 国产精品久久国产精麻豆99网站 | 国产精品黄在线观看免费| 老熟妇乱子交视频一区| 日本一区二区三区看片| 日韩av综合中文字幕| 午夜福利一区二区在线看| 麻豆一区二区三区蜜桃免费| 欧美亚洲另类制服卡通动漫| 亚洲欧美人成人综合在线播放| 白色丝袜国产在线视频| 亚洲精品国产suv一区| 99久久婷婷国产综合精品青草漫画| 日韩高清无码电影网| 91亚洲国产成人久久精品| 国产最新AV在线播放不卡| 中国女人内谢69xxxx| 欧美老人巨大XXXX做受视频| 欧美亚洲国产精品久久蜜芽| 亚洲精品一区二区美女| 无码人妻少妇久久中文字幕蜜桃| 国产一区二区黄色激情片| 人妻系列无码专区无码中出| av偷拍亚洲一区二区三区| 欧美亚洲国产一区二区三区| 国产一码二码三码区别| 亚洲伊人久久综合影院| 国产精品网红尤物福利在线观看 | 浴室人妻的情欲hd三级国产| 国产成人午夜福利高清在线观看 | 亚日韩精品一区二区三区| 四虎影视库国产精品一区| 一区二区三区四区黄色片| 精品黄色av一区二区三区| 亚洲在战av极品无码| 精品久久久久久成人AV| 99久热这里精品免费观看| 99久久精品费精品国产一区二|