MySQL系列 MySQL備份和恢復

2021-09-27 05:01:45 字數 3179 閱讀 4765

mysql的備份和還原

備份 :副本

raid1,raid10 :保證硬體損壞而不會業務中止;

備份和還原 :可以保證因邏輯錯誤引起的資料丟失

備份型別 :

熱備份 :讀寫不受影響

溫備份 :僅可以執行讀操作

冷備份 :離線備份,讀、寫操作均中止

完全備份、增量備份和差異備份

備份什麼:

資料、配置檔案、二進位制日誌、事務日誌

主從伺服器架構

物理備份 :速度快

邏輯備份 :速度慢、丟失浮點數精度:方便使用文字處理工具直接對其處理,可移植能力強;

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

mysql備份工具 :

mysqldump : 邏輯備份工具、myisam(溫)、innodb(熱備份)

mysqlhotcopy : 物理備份工具、溫備份

檔案系統工具 :

cp :冷備

lv : 邏輯卷的快照功能,幾乎熱備;

flush tables;

lock tables

建立快照,釋放鎖,而後複製資料

第三組工具 :

ibbackup : 商業工具

xtrabackup : 開源工具

mysql備份工具比較列表

mysqldump : 邏輯備份

mysqldump(完全備份)+二進位制日誌

完全+增量

備份單個資料庫,或庫中單個表

mysqldump db_name [tb1] [tb2]

mysqldump --master-data=

0 : 不記錄二進位制日誌檔案及路位置

1 :以chnage master to的方式記錄位置,可用於恢復後直接啟動從伺服器

2 :以chnage master to的方式記錄位置,但預設為被注釋;

--lock-all-tables : 鎖定所有表

--flush-logs : 執行日誌flush;

如果指定庫中的表型別均為innodb,可使用--single-transaction啟動熱備;

備份多個庫 :

--all-databases : 備份所有庫

--datebases db_name,db_name,... 備份指定庫

--events 事件

--routines 儲存過程、儲存函式

--triggers 觸發器

flush tables with read lock; 重新整理表並使用讀鎖

備份策略 :周完全+每日增量

完全備份:mysqldump

增量備份:備份二進位制日誌檔案(flush logs)

二進位制日誌 :

set sql_log_bin=1 1=on 0=off

二進位制日誌 :

format

statement

rowmixed

mysqldump :

--databases db1,db2,...

--all-databases

邏輯備份 :

1、浮點資料丟失精度;

2、備份出的資料更占用儲存空間,壓縮後可大大節省空間;

3、不適合對大資料庫做完全備份;

通常做單張表的備份

select into outfile '/path/to/somefile.txt' form tb_name [where clause] ; 只備份資料,不備份sql命令

load data infile '/path/to/somefile.txt' into ta_name;

幾乎熱備 :lvm

snapshot

前提 :

1、資料檔案要在邏輯卷上;

2、此邏輯卷所在捲組必須有足夠空間使用快照卷;

3、資料檔案和事務日誌要在同乙個邏輯卷上;

步驟 :

1、開啟會話,施加讀鎖,鎖定所有表;

flush tables with read lock;

flush logs;

2、通過另乙個終端,儲存二進位制日誌檔案及相關位置資訊;

mysql -uroot -p -e 'show master status\g' > /path/to/master.info

3、建立快照卷

lvcreate -l # -s -p r -n lv_name /path/to/source_lv

4、釋放鎖

unlock tables;

5、掛載快照卷,備份

mount

cp 6、刪除快照卷

7、備份二進位制日誌

二進位制日誌相關的幾個選項 :

建議設定為1

percona :

ibbackup :innodb online physical backup

full

incremental

myisam : warm backup ,full

lvm --> mylvmbackup (perl scripts)

xtrabackup

xtradb : innodb的增強版

mysql備份和恢復 mysql備份和恢復

目標 備份和恢復的3種方法,掌握mysqldump命令匯出資料,source命令匯入資料 備份必要性 重要資料不丟失 資料轉移 mysqldump客戶端 作用 轉儲資料庫 搜尋資料庫進行備份 將資料轉移到另乙個sql伺服器 不一定是mysql伺服器 mysqldump h 主機名 u使用者名稱 p ...

mysql的備份和還原 mysql備份和還原

一 資料備份 1 使用mysqldump命令備份 mysqldump命令將資料庫中的資料備份成乙個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。mysqldump命令的工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成乙個create語句。然後,將表中的所有記錄轉換成一條ins...

mysql 邏輯備份 mysql的邏輯備份和恢復

備份指定的資料庫或此資料庫中的某些表 mysqldump options db name tables backup.sql 備份指定的乙個或多個資料庫 mysqldump databases 資料庫1 資料庫2 資料庫3 backup.sql 備份所有的資料庫 mysqldump all data...