Mysql備份I

Mysql備份I

I備份在什么時候會被需要

硬件故障 機器無法啟動 機器突然消失了怎么辦
業務出現異常 一定要先select 在操作 類似drop或delete的操作 攻擊 程序bug
業務特殊需求 
重要數據多處多次多版本備份
至少有2份遠程備份文件2處本地備份

II哪些東西需要備份

My.cnf innodb大小寫不一樣起不來 和數據放到一起備份(機器突然消失了怎么辦) Cron 也要備份

數據庫中的數據
Logfiles and position
配置文件 my.cnf和cron
要經常驗證備份的有效性

III什么時候開始備份

負載小的時候 業務少的時候

IV備份數據放到哪里

優先考慮本地 
數據大的時候怎么備份
專用存儲 IPSAN NAS 大容量PCServer
分布式文件系統HDFS
磁帶或光盤等其他介質

V怎樣備份

V.I備份策略的確定

1數據恢復或還原的速度
2數據丟失的允許程度
3數據的大小與成本的平衡
制定備份計劃 備份周期 備份容量 恢復速度評估

對于小型等級業務量的系統來說,直接每天全量備份,定期刪除就可以了50G<
>50G 主從
對于中等級別業務量的系統來說,備份策略可以這么定:第一次全量備份,每天一次增量備份,每周再做一次全量備份,如此一直重復。而對于重要的且繁忙的系統來說,則可能需要每天一次全量備份,每小時一次增量備份,甚至更頻繁。為了不影響線上業務,實現在線備份,并且能增量備份,最好的辦法就是采用主從復制機制(replication),在 slave 機器上做備份

出現操作系統崩潰或電源故障時,InnoDB自己可以完成所有數據恢復工作。應遵從下面的指導:
· 一定用--log-bin或甚至--log-bin=log_name選項運行MySQL服務器,其中日志文件名位于某個安全媒介上,不同于數據目錄所在驅動器。如果你有這樣的安全媒介,最好進行硬盤負載均衡(這樣能夠提高性能)。
· 定期進行完全備份,使用mysqldump命令進行在線非塊備份。
· 用FLUSH LOGS或mysqladmin flush-logs清空日志進行定期增量備份。

V.II備份方式的選擇

熱備
不停業務的備份
Xtrabackup
雙機熱備份

雙機熱備份通過日志文件來傳輸入服務器上數據的變化。主服務器進程在數據被更新時觸發。并將相應的日志文件發送到從服務器。從服務器進程接收到主服務器發送的日志文件,做出相應的更改操作

主服務器的配置
編輯my.cnf文件,定義到mysqld,加入內容

   Server-id=1
   Log-bin=c:/log-bin.log
   Binlog-do-db=dbname

創建dbname數據庫
進入mysql操作,為從服務器授權訪問數據庫的用戶名和密碼

    grant replication slave on *.* to ‘root’@從服務器IP identified by ‘密碼’

重啟MySQL服務器,使更改生效
重新進入到MySQL的命令,執行命令檢測配置是否生效:

    Show master status\G

從服務器的配置
在從服務器中創建與主服務器中相同的數據庫
找到從服務器中的my.cnf文件,定位到[mysqld],加入以下內容:

    Server-id=2
    Master-host=主服務器IP
    Master-port=3306(主服務器端口號)
    Master-user=root(主服務器用戶名)
    Master-password=密碼(主服務器密碼)
    Master-connect-retry=60(等待嘗試重新連接的秒數)

重新啟動MySQL服務器,使配置生效
進入到從服務器MySQL操作,執行啟動進程

    Slave start


冷備

停掉業務或DB進行備份
停止的庫上做tar,copy,rsync等備份

V.III備份方式

V.III.I邏輯備份 logical backup 導出為.sql文件的備份

MySQLdump MySQLdumper

V.III.II物理備份 physical backup對文件進行備份

備份binlog,
基于slave的xtrabackup,tar,copy,mylvmbackup,Rsync

V.III.III本地備份 local backup

優先考慮本地 
遠程備份網絡和恢復速度會有影響

V.III.IV遠程備份 remote backup

V.III.V全量備份 full backup

不依賴文件的存盤屬性來確定備份哪些文件。
任何現有的標記都被清除,每個文件都被標記為已備份,清除存盤屬性
備份速度慢,恢復時間長,使用空間大

V.III.VI增量備份 incremental backup

做完全量備份之后,開始做的binlog備份
備份上一次的完全備份后發生變化的所有文件
備份速度快,恢復時間長,使用空間小
如果要還原一個備份檔案,必須把所有增量備份的磁盤都找一遍,直到找到為止,要復原整個檔案系統,那就得先復原最近一次的完整備份,然后復原一個又一個的增量備份。

V.III.VII差異備份(differential backup)

是復制上次全備份以來所有變更數據的一種備份
恢復速度快,恢復需要的備份檔少
一個檔案只要自上次完整備份后,曾被更新過,那么接下來每次做差異備份時,這個檔案都會被備份直到下一次完整備份為止。
差異備份過程中,只備份有標記的那些選中的文件和文件夾
不將文件標記為已經備份備份后不標記為已備份文件,換言之,不清除存盤屬性
這表示差異備份中的檔案,都是自上次完全備份之后,曾被改變的檔案。如果要復原整個系統,只要先復原完全備份,再復原最后一次的差異備份即可。

號 mysqladmin flush-logs

1.運行mysql的時候加上 --log-update=/tmp/mysql.update.log
2.給差分文件創建編號 mysqladmin flush-logs
3.恢復按編號從小到大的順序 mysql -D mydatabase < /tmp/mysql.update.log.001

原創文章,作者:雙慶 李,如若轉載,請注明出處:http://www.www58058.com/18002

(0)
雙慶 李雙慶 李
上一篇 2016-06-09 20:23
下一篇 2016-06-09 22:15

相關推薦

  • 馬哥教育網絡班N22期+第五周課程練習

    1、顯示當前系統上root、fedora或user1用戶的默認shell; ~]# grep -E "^(root|user1|fedora)" /etc/passwd | awk -F: '{ print $1 $7 }' root/bin/bash user1/bin/bash fedora/bin/bash 2、…

    Linux干貨 2016-10-17
  • AIX 6.1 硬件基本管理

    查看整體的硬件信息:          # prtconf #將所有系統信息輸出到屏幕上顯示          # lsdev -C #查看硬件設備信息及其工作狀態 注:硬件的設備通常為2 種狀態,"availiable"表示設備可用,de…

    Linux干貨 2015-10-18
  • 馬哥教育網絡班21期+第六周課程練習

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#;  ~]# cp /etc/rc.d/rc.sysinit /tmp/  ~]# vim /tmp…

    Linux干貨 2016-08-22
  • Linux基礎學習總結(一)

    一、計算機的組成與功能 二、Linux的版本 三、Linux的哲學思想 四、Linux基礎命令(一) 五、Linux幫助信息 六、Linux目錄結構

    Linux干貨 2016-09-20
  • MySQL慢日志監控腳本實例剖析

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1577326        公司線上的 MySQL 慢日志,之前一直沒有做好監控。趁著上周空閑,我就把監控腳本寫了下,…

    Linux干貨 2016-08-15
  • Nginx 原理

    Web服務器處理并發連接請求的工作模型有以下幾種方式: 1、單線程web服務器(Single-threaded web servers)此種架構方式中,web服務器一次處理一個請求,結束后讀取并處理下一個請求。在某請求處理過程中,其它所有的請求將被忽略,因此,在并發請求較多的場景中將會出現嚴重的性能問題。(即一次只能處理一個請求) 2、多進程/多線…

    Linux干貨 2017-05-07
欧美性久久久久