MySQL資料備份與恢複

來源:互聯網
上載者:User

標籤:mysql   備份   恢複   

**無論備份還是恢複,都要驗證使用者及許可權**


一、資料備份

1、資料備份的備份方式

  物理備份:cp、tar、tar+gzip  —> 相容性差,目標地址空間大,耗時

         系統內建物理備份工具mysqlhotcopy --> 備份時鎖表

邏輯備份:備份產生資料的SQL語句  —> 相容性好,佔用空間小

     系統內建完整備份工具Mysqldump(MySQL-client包產生) --> 備份時鎖表


2、資料備份的備份策略

  完整備份: 完全備份,把資料庫伺服器上的所有庫所有表全部備份

  差異備份: 自‘完整備份’之後,疊加備份所有產生的新資料。

  優缺點:備份資料有冗餘,佔用空間,恢複時方便


例如:第1天做了完整備份,第2天產生3條記錄,差異備份時需備份3條記錄,第3天產生2條            記錄,差異備份時則需備份5條記錄  

       完整備份  1條記錄    1day     備份1條記錄

       差異備份  3條記錄    2day     備份3條記錄

      2條記錄    3day     備份5條記錄

……… ……………


  增量備份:‘自上一次備份’之後,備份產生的新資料。

  優缺點:備份節省空間的,恢複時調用的檔案多

        完整備份  1條記錄    1day    1

         增量備份  3        2day    3

     2        3day    2

……… …………


3、工作中通常備份策略用法:

  完整備份+差異備份

  完整備份+增量備份

     

4、備份工具

  1)完整備份工具mysqldump

    **由mysql包提供,資料量不太大時用,

    **備份的時候鎖表,備份期間別人不能對備份資料進行操作


格式:mysqldump [–h資料庫IP/主機名稱] -u登入使用者名稱 -p密碼 資料庫名 > 路徑/備份檔案名.sql                                                         

不寫路徑時,預設備份到當前命令所在的目錄下

若寫路徑,需事先建立好

若資料庫管理員從本機登入且沒有密碼:mysqldump 資料庫名 >路徑/xxx.sql

用來串連資料庫的使用者要對相應的資料庫有許可權


資料庫名的表示格式:

所有庫               --all-databases

指定單個庫下的所有表    資料庫名

某個庫下的某個表      資料庫名 表名

備份某幾個庫           -B 資料庫名1  資料庫名2  資料庫名N

   

例:mysqldump -uroot -p --all-databases > /mysqlbak/alldb.sql //備份資料庫伺服器上的所有庫


解決:將備份寫入計劃任務後,因備份名一樣,會複蓋前天的備份,可以用“時間”做備份檔案名。


擷取時間命令:#date +%F   →2014-07-21

    #date +%T  →17:30:17


mysqldump webdb > webdb-`date +%F`.sql          

mysqldump -h192.168.10.20 -uroot -ptarena webdb > /mysqllog/webdb-`date+%F`.sql //遠程備份


二、資料恢複

格式:mysql –h伺服器IP/主機名稱  -u登入使用者名稱 –p密碼 資料庫名 < 備份檔案名  

   mysql 資料庫名 < 備份檔案名  //若登入資料庫不需要使用者名稱密碼


注意:恢複資料時候“<”必須寫對千萬注意不要寫反,要是恢複的時候寫成“>”那麼會自動清除備份檔案內容


備份庫的時候,前面加-B備份出的檔案裡面帶“建立庫”的SQL語句,恢複的時候不用在資料庫裡在建立庫

資料庫名是可選項,恢複資料時候必須查看一下備份檔案裡面的SQL語句,當恢複時使用的備份檔案裡有建庫SQL語句時,資料庫名可以省略,反之沒有建庫SQL語句的時候必須“進資料庫裡面手動建一個庫(庫名可以隨便寫)”然後在恢複的時候寫上建立的資料庫名


例:

mysql webdb < webdb-2014-01-06.sql               

mysql -h192.168.10.20 -uroot -ptarena webdb < /mysqllog/webdb-2014-01-06.sql                                        

本文出自 “Dave-技術部落格” 部落格,請務必保留此出處http://davewang.blog.51cto.com/6974997/1858713

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.