咨詢電(diàn)話(huà):023-88959644    24小(xiǎo)時(shí)服務熱線:400-023-8809
NEWS CENTER ·
新聞動态
關注中技(jì)互聯 關注前沿

MySQLdump數(shù)據的增量備份、完全備份與恢複

發表日期:2013-05-28    文章編輯:張氏    浏覽次數(shù):156    标簽:

www.zjcoo.com

   有(yǒu)時(shí)候系統或者服務器(qì)被惡意損害或者無意損害後,數(shù)據沒有(yǒu)了,站(zhàn)長們肯定很(hěn)着急,今天中技(jì)就給大(dà)家(jiā)講解如何增量備份、完全備份還(hái)有(yǒu)恢複數(shù)據:

  MySQLdump增量備份配置

  執行(xíng)增量備份的前提條件是MySQL打開(kāi)log-bin日志(zhì)開(kāi)關,例如在my.ini或my.cnf中加入

  log-bin=/opt/Data/MySQL-bin

  “log-bin=”後的字符串為(wèi)日志(zhì)記載目錄,一般建議放在不同于MySQL數(shù)據目錄的磁盤上(shàng)。

  MySQLdump增量備份

  假定星期日下午1點執行(xíng)完全備份,适用于MyISAM存儲引擎。

  MySQLdump –lock-all-tables –flush-logs –master-data=2 -u root -p test > backup_sunday_1_PM.sql

  對于InnoDB 将–lock-all-tables替換為(wèi)–single-transaction

  flush-logs 為(wèi)結束當前日志(zhì),生(shēng)成新日志(zhì)文件

  master-data=2 選項将會(huì)在輸出SQL中記錄下完全備份後新日志(zhì)文件的名稱,

  用于日後恢複時(shí)參考,例如輸出的備份SQL文件中含有(yǒu):

  CHANGE MASTER TO MASTER_LOG_FILE=’MySQL-bin.000002′, MASTER_LOG_POS=106;

  MySQLdump增量備份其他說明(míng):

  如果MySQLdump加上(shàng)–delete-master-logs 則清除以前的日志(zhì),以釋放空(kōng)間(jiān)。但(dàn)是如果服務器(qì)配置為(wèi)鏡像的複制(zhì)主服務器(qì),用MySQLdump –delete-master-logs删掉MySQL二進制(zhì)日志(zhì)很(hěn)危險,因為(wèi)從服務器(qì)可(kě)能還(hái)沒有(yǒu)完全處理(lǐ)該二進制(zhì)日志(zhì)的內(nèi)容。在這種情況下,使用 PURGE MASTER LOGS更為(wèi)安全。

  每日定時(shí)使用 MySQLadmin flush-logs來(lái)創建新日志(zhì),并結束前一日志(zhì)寫入過程。并把前一日志(zhì)備份,例如上(shàng)例中開(kāi)始保存數(shù)據目錄下的日志(zhì)文件 MySQL-bin.000002 , …

  ◆恢複完全備份

  MySQL -u root -p < backup_sunday_1_PM.sql

  ◆恢複增量備份

  MySQLbinlog MySQL-bin.000002 … | MySQL -u root -p注意此次恢複過程亦會(huì)寫入日志(zhì)文件,如果數(shù)據量很(hěn)大(dà),建議先關閉日志(zhì)功能

  ◆--compatible=name

  它告訴 MySQLdump,導出的數(shù)據将和(hé)哪種數(shù)據庫或哪個(gè)舊(jiù)版本的 MySQL 服務器(qì)相兼容。值可(kě)以為(wèi) ansi、MySQL323、MySQL40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options 等,要使用幾個(gè)值,用逗号将它們隔開(kāi)。當然了,它并不保證能完全兼容,而是盡量兼容。

  ◆--complete-insert,-c

  導出的數(shù)據采用包含字段名的完整 INSERT 方式,也就是把所有(yǒu)的值都寫在一行(xíng)。這麽做(zuò)能提高(gāo)插入效率,但(dàn)是可(kě)能會(huì)受到 max_allowed_packet 參數(shù)的影(yǐng)響而導緻插入失敗。因此,需要謹慎使用該參數(shù),至少(shǎo)我不推薦。

  ◆--default-character-set=charset

  指定導出數(shù)據時(shí)采用何種字符集,如果數(shù)據表不是采用默認的 latin1 字符集的話(huà) ,那(nà)麽導出時(shí)必須指定該選項,否則再次導入數(shù)據後将産生(shēng)亂碼問題。

  ◆--disable-keys

  告訴 MySQLdump 在 INSERT 語句的開(kāi)頭和(hé)結尾增加 /*!40000 ALTER TABLE table DISABLE KEYS */; 和(hé) /*!40000 ALTER TABLE table ENABLE KEYS */; 語句,這能大(dà)大(dà)提高(gāo)插入語句的速度,因為(wèi)它是在插入完所有(yǒu)數(shù)據後才重建索引的。該選項隻适合 MyISAM 表。

  ◆--extended-insert = true|false

  默認情況下,MySQLdump 開(kāi)啓 --complete-insert 模式,因此不想用它的的話(huà),就使用本選項,設定它的值為(wèi) false 即可(kě)。

  ◆--hex-blob

  使用十六進制(zhì)格式導出二進制(zhì)字符串字段。如果有(yǒu)二進制(zhì)數(shù)據就必須使用本選項。影(yǐng)響到的字段類型有(yǒu) BINARY、VARBINARY、BLOB。

  ◆--lock-all-tables,-x

  在開(kāi)始導出之前,提交請(qǐng)求鎖定所有(yǒu)數(shù)據庫中的所有(yǒu)表,以保證數(shù)據的一緻性。這是一個(gè)全局讀鎖,并且自動關閉 --single-transaction 和(hé) --lock-tables 選項。

  ◆--lock-tables

  它和(hé) --lock-all-tables 類似,不過是鎖定當前導出的數(shù)據表,而不是一下子鎖定全部庫下的表。本選項隻适用于 MyISAM 表,如果是 Innodb 表可(kě)以用 --single-transaction 選項。

  ◆--no-create-info,-t

  隻導出數(shù)據,而不添加 CREATE TABLE 語句。

  ◆--no-data,-d

  不導出任何數(shù)據,隻導出數(shù)據庫表結構。

  ◆--opt

  這隻是一個(gè)快捷選項,等同于同時(shí)添加 --add-drop-tables --add-locking --create-option --disable-keys --extended-insert --lock-tables --quick --set-charset 選項。本選項能讓 MySQLdump 很(hěn)快的導出數(shù)據,并且導出的數(shù)據能很(hěn)快導回。該選項默認開(kāi)啓,但(dàn)可(kě)以用 --skip-opt 禁用。注意,如果運行(xíng) MySQLdump 沒有(yǒu)指定 --quick 或 --opt 選項,則會(huì)将整個(gè)結果集放在內(nèi)存中。如果導出大(dà)數(shù)據庫的話(huà)可(kě)能會(huì)出現問題。

  ◆--quick,-q

  該選項在導出大(dà)表時(shí)很(hěn)有(yǒu)用,它強制(zhì) MySQLdump 從服務器(qì)查詢取得(de)記錄直接輸出而不是取得(de)所有(yǒu)記錄後将它們緩存到內(nèi)存中。

  ◆--routines,-R

  導出存儲過程以及自定義函數(shù)。

  ◆--single-transaction

  該選項在導出數(shù)據之前提交一個(gè) BEGIN SQL語句,BEGIN 不會(huì)阻塞任何應用程序且能保證導出時(shí)數(shù)據庫的一緻性狀态。它隻适用于事務表,例如 InnoDB 和(hé) BDB。本選項和(hé) --lock-tables 選項是互斥的,因為(wèi) LOCK TABLES 會(huì)使任何挂起的事務隐含提交。要想導出大(dà)表的話(huà),應結合使用 --quick 選項。

  ◆--triggers

  同時(shí)導出觸發器(qì)。該選項默認啓用,用 --skip-triggers 禁用它。

重慶中技互聯網信息咨詢有限公司 www.zjcoo.com

如沒特殊注明(míng),文章均為(wèi)中技(jì)互聯原創,轉載請(qǐng)注明(míng)來(lái)自www.zjcoo.com
相關新聞

CopyrightZJCOO technology Co., LTD. All Rights Reserved.    

渝ICP 備11003429号

  • qq客服
  • 公衆号
  • 手機版
  • 新浪微博