Mysql備份與恢復

2021-07-11 23:01:42 字數 2496 閱讀 3617

這裡主要介紹通過mysqldump來匯出資料和通過binlog匯入資料的mysql匯入匯出問題。

常用工具:mysqldump, xtrabackup

mysqldump: 原生資料匯出工具,以sql的形式匯出儲存

xtrabackup: percona團隊提供的備份工具,基於檔案系統的備份

備份全庫——最簡單版本

mysqldump -h10

.6.29

.129

-uroot

-p--

all-databases

>

10.6

.29.129

.sql

mysqldump是直接螢幕輸出,所以重定向後即可得到對應的備份檔案。

1. 這個備份命令很簡單,但存在問題:

2. 會鎖全庫,影響業務

3. 有可能缺失常規表以外的內容,如儲存過程

4. 未記錄binlog同步點,不能用於主從同步以及利用binlog增量恢復

對於資料集較大的表,可能會吃掉server端大量記憶體

備份全庫——高階版

mysqldump -h10

.6.29

.129

-uroot

-p--

all-databases

--master-data=2

--routines --events --quick --single-transaction

>

10.6

.29.129

.sql

備份部分database
mysqldump

-h10.6

.29.129

-uroot-p

--master

-data=2--

routines

–events--

quick--

single

-transaction--

databases

db1db2

db3 > 10.6

.29.129

.sql

(將需要匯出的庫名,依次填寫在databases引數後)

備份指定database的部分表

mysqldump

-h10.6

.29.129

-uroot–p-

-master

-data=2--

routines

–events--

quick--

single

-transaction

mydb

table1

table2 > 10.6

.29.129

.sql

(先寫明指定的database,然後緊跟需要備份的表名)

直接利用mysqlclient以及冷備檔案進行匯入

mysql -h10

.6.29

.129

-uroot

-p<

10.6

.29.129

.sql

(簡單易行,但要確保匯入的庫表,不會同時有業務在寫入)

借助binlog恢復資料庫

在冷備資料的基礎上,借助binlog可以恢復到冷備時間點至最新binlog之間的任意時刻。

首先由於binlog二進位制檔案,要使用binlog必須先對binlog進行解析,解析的工具就是mysqlbinlog。

使用mysqlbinlog工具,對binlog檔案進行解析

簡單用法——

mysqlbinlog mysql.000004 > binlog.000004
使用mysqlbinlog工具,對binlog檔案進行解析

高階用法——

mysqlbinlog mysql.000004

--start-position

=549212174

--stop-datetime

='2014-9-10 10:00'

> binlog.000004

.sql

–start-position 表示從binlog的那個位置開始解析,而這個起始點可以通過備份時的master-data引數得到

–stop-datetime 表示只解析到哪個時間點的語句為止,可用於回檔到某個指定時間點

–start-datetime 從那個時間點開始,但通常還是盡量使用start-position,更為準確

–verbose, -v 使用方式:-vv, -vvv,常用於row模式的詳細輸出

恢復的具體操作方法,就是先通過冷備份將資料庫還原到備份點,然後在通過binlog生成從冷備點恢復的sql。分別執行下兩個sql檔案就可以了。

mysql 備份與恢復 MySQL 備份與恢復

1 檢視資料庫的資料儲存在哪個目錄下 shiyanlou mysql uroot e show variables like datadir variable name value datadir var lib mysql 2 備份資料的方法 select into outfile 檔名 或者 s...

mysql 備份與恢復 Mysql 備份與恢復

資料檔案一致性處理 在完全備份的情況下,檔案不是時間點一致的,因為進行快照的時間點不一樣。如果嘗 試在未prepare資料的情況下還原資料庫,雖然操作上支援恢復,但是在啟動的時候仍會 進行資料recovery。執行帶 prepare 選項的 mariabackup 命令會使資料檔案進行統一,達到資料...

mysql備份恢復 mysql之備份與恢復

工作中,我們經常會遇到資料庫的備份與恢復場景 目錄1 mysql的備份與恢復 2 mysql的匯入與匯出 1 mysql的備份與恢復 mysql的備份命令是mysqldump,mysql之備份 mysqldump u user h host port p db table.file u 後面接資料庫...