程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL數據庫邏輯和物理備份

MySQL數據庫邏輯和物理備份

編輯:MySQL綜合教程


MySQL數據庫邏輯和物理備份   邏輯備份   法1: 生成特定格式的純文本   www.2cto.com   SELECT * INTO OUTFILE 'F:\data.txt' FIELDS TERMINATED BY ',' FROM g_user   LOAD DATA INFILE 'F:\data.txt' INTO TABLE g_user FIELDS TERMINATED BY ','   IGNORE number LINES   如果你沒有指定一個 FIELDS 子句,缺省的相同於如果你這樣寫:   FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' 如果你沒有指定一個 LINES 子句,缺省的相同於如果你這樣寫:   LINES TERMINATED BY '\n'   發2:生成Insert語句備份   利用工具mysqldump   物理備份   MyISAM 存儲引擎   MyISAM 存儲引擎的所有數據都存放在MySQL 配置中所設定的“datadir”目錄下。實際上不管我們使用的是MyISAM 存儲引擎還是其他任何存儲引擎,每一個數據庫都會在“datadir”目錄下有一個文件夾(包括系統信息的數據庫mysql 也是一樣)。在各個數據庫中每一個MyISAM 存儲引擎表都會有三個文件存在,分別為記錄表結構元數據的“.frm”文件,存儲表數據的“.MYD”文件,以及存儲索引數據的“.MYI”文件。由於MyISAM 屬於非事務性存儲引擎,所以他沒有自己的日志文件。所以MyISAM 存儲引擎的物理備份,除了備份MySQL 系統的共有物理文件之外,就只需要備份上面的三種文件即可。   www.2cto.com   Innodb 存儲引擎 Innodb 存儲引擎屬於事務性存儲引擎,而且存放數據的位置也可能與MyISAM 存儲引擎有所不同,這主要取決於我們對Innodb 的“”相關配置所決定。決定Innodb 存放數據位置的配置為“ innodb_data_home_dir ” 、“innodb_data_file_path ” 和“innodb_log_group_home_dir”這三個目錄位置指定參數,以及另外一個決定Innodb 的表空間存儲方式的參數“innodb_file_per_table”。前面三個參數指定了數據和日志文件的存放位置,最後一個參數決定Innodb 是以共享表空間存放數據還是以獨享表空間方式存儲數據。這幾個參數的相關使用說明我們已經在第一篇的“MySQL 存儲引擎介紹”中做了相應的解釋,在MySQL 的官方手冊中也有較為詳細的說明,所以這裡就不再累述了。
  如果我們使用了共享表空間的存儲方式, 那麼Innodb 需要備份備份“innodb_data_home_dir”和“innodb_data_file_path”參數所設定的所有數據文件,“datadir”中相應數據庫目錄下的所有Innodb 存儲引擎的“.frm”文件; 而如果我們使用了獨享表空間,那麼我們除了備份上面共享表空間方式所需要備份的所有文件之外,我們還需要備份“datadir”中相應數據庫目錄下的所有“.idb”文件,該文件中存放的才是獨享表空間方式下Innodb 存儲引擎表的數據。  www.2cto.com   此外,除了上面所說的數據文件之外,Innodb 還有自己存放redo 信息和相關事務信息的日志文件在“innodb_log_group_home_dir”參數所設定的位置。所以要想Innodb 物理備份能夠有效使用,我們還比需要備份“innodb_log_group_home_dir”參數所設定的位置的所有日志文件。   FLUSH TABLES WITH READ LOCK; 物理備份,你懂得 UNLOCK TABLES; 備份策略 重要的內容物理備份 然後其他邏輯備份     作者 bengda

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved