MySQL資料備份與恢複

來源:互聯網
上載者:User

標籤:mysql資料備份與恢複

一、MySQL資料備份與恢複
1.資料備份方式:
物理備份:cp tar mysqlhotcopy
邏輯備份:mysqldump  mysql

備份策略:
完全備份  差異備份  增量備份

常用備份組合:
完全備份+差異備份
完全備份+增量備份


2.完全備份
缺點: 無法恢複完整備份後產生的資料,只能把資料恢複到備份時的狀態。

範例1
備份:mysqldump -hlocalhost -uroot -p 源庫名 > 路徑/xxx.sql
恢複:mysql -hlocalhost -uroot -p 目標庫名 < 路徑/xxx.sql

源庫名的表示:
所有庫:--all-databases
指定單個庫:庫名
指定單個表:庫名 表名(註:中間沒有.)
備份多個庫:-B 庫1 庫2


3.增量備份
啟動MySQL   binlog 日誌,實現資料的增量備份)
二進位日誌(binlog日誌)記錄使資料發生改變的sql語句(除查詢之外的sql語句)
                                           
3.1啟用日誌方法:
vim   /etc/my.cnf
[mysqld]
log-bin
#log-bin=日誌名
#log-bin=目錄名/日誌名
service  mysql  restart
註:
預設目錄   /var/lib/mysql/
日誌名字:主機名稱-bin.000001 (當該日誌體積大於500M會自動建立新的日誌)
xxx-bin.index  記錄當前已有的binlog記錄檔名

3.2查看日誌內容:
mysqlbinlog    主機名稱-bin.000001
mysqlbinlog    主機名稱-bin.000001    |  mysql   -hip   -u使用者名稱  -p密碼   資料庫名   

3.3手動產生新的binlog日誌               
flush logs;   
mysql   -hip   -u使用者名稱  -p密碼  -e   "flush logs"
mysqldump    -hip   -u使用者名稱  -p密碼   --flush-logs  資料庫名   >  備份檔案名
service   mysql  restart

3.4根據日誌恢複資料
預設mysqlbinlog 命令  把檔案的內容從頭讀到尾
文法格式
mysqlbinlog   主機名稱-bin.000001    |  mysql   -uroot -p999
mysqlbinlog    $(cat /var/lib/mysql/mail-bin.index)    |  mysql   -uroot  -p999

選項
字元位移量
--start-position=num      啟始位移量
--stop-position=num      結束位移量

mysqlbinlog   --start-position=310      主機名稱-bin.000001
mysqlbinlog   --stop-position=578     主機名稱-bin.000001
mysqlbinlog  --start-position=201   --stop-position=740     mail-bin.000004  

時間點
--start-datetime="yyyy-mm-dd  hh:mm:ss"   啟始時間
--stop-datetime="yyyy-mm-dd  hh:mm:ss"   結束時間


mysqlbinlog   --start-datetime="2014-11-11 23:17:51"    --stop-datetime"=2014-11-11 23:17:52"   /var/lib/mysql/mail-bin.000006   | mysql   -uroot -p999

3.5刪除早於指定版本的binlog日誌
 PURGE    MASTER LOGS TO  ‘binlog檔案‘;
 PURGE    MASTER LOGS TO   "mail-bin.000004";
            
刪除所有binlog日誌,重建新日誌
RESET MASTER;

本文出自 “劉福” 部落格,請務必保留此出處http://liufu1103.blog.51cto.com/9120722/1656834

MySQL資料備份與恢複

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.