MySQL 全備份與增量備份 全恢復與增量恢復

2021-07-05 11:51:54 字數 2167 閱讀 5629

一,全備份 與 全恢復

1、vim /root/db_backup/mysqldump_mraz.php,內容如下: 

<?php

date_default_timezone_set("prc");

$d = date("ymd-his");

exec("/usr/local/mysql/bin/mysqldump -uroot -p111111 mraz > mraz-".$d.".sql");

2、進入crontab -e,設定每分鐘備份一次(更安全的做法是將備份檔案通過scp傳到更安全的地方)

*/1 * * * * /usr/local/php/bin/php /root/db_backup/mysqldump_mraz.php

3、全恢復,進入mysql,執行

source /root/db_backup/mraz-20150928-160404.sql

二,增量備份 與 增量備份恢復

1、配置my.cnf,啟用二進位製備份,vim /etc/my.cnf,配置log-bin目錄

原始碼安裝的預設是log-bin=mysql-bin,對應的是/usr/local/mysql/var/

(ps:rpm包安裝的話,可以自定義設定為log-bin=/var/mysqlbinlog/) 

2、啟動mysql後,對應log-bin目錄會生成(更安全的做法是將二進位制日誌檔案通過scp傳到更安全的地方)

mysql-bin.index 索引檔案

mysql-bin.000001 二進位制增量備份檔案 

3、檢視二進位制備份檔案,根據時間和位置恢復(ps:先記錄出現故障前的時間,再檢視全備份檔案的時間)

cd /usr/local/mysql/var/

/usr/local/mysql/bin/mysqlbinlog mysql-bin.000015

3.1、例如:

#150826 12:05:45 server id 1  end_log_pos 202

query

thread_id=40

exec_time=0

error_code=0

3.2、150826 12:05:45為時間,202為位置

4、恢復(ps:先記錄出現故障前的時間,再檢視全備份檔案的時間)

按時間恢復(一般start-datetime是全備份的時間,stop-datetime是出現故障前的時間)

/usr/local/mysql/bin/mysqlbinlog --stop-datetime='2015-08-26 12:05:44' /usr/local/mysql/var/mysql-bin.000015 | /usr/local/mysql/bin/mysql -uroot -p

或者/usr/local/mysql/bin/mysqlbinlog --start-datetime='2015-08-26 12:05:44' /usr/local/mysql/var/mysql-bin.000015 | /usr/local/mysql/bin/mysql -uroot -p

或者/usr/local/mysql/bin/mysqlbinlog --start-datetime='2015-09-28 15:48:08' --stop-datetime='2015-09-28 15:50:10' /usr/local/mysql/var/mysql-bin.000015 | /usr/local/mysql/bin/mysql -uroot -p

按位置恢復

/usr/local/mysql/bin/mysqlbinlog --stop-position='202' /usr/local/mysql/var/mysql-bin.000015 | /usr/local/mysql/bin/mysql -uroot -p

或者/usr/local/mysql/bin/mysqlbinlog --start-position='201' /usr/local/mysql/var/mysql-bin.000015 | /usr/local/mysql/bin/mysql -uroot -p

或者/usr/local/mysql/bin/mysqlbinlog --start-position='201' --stop-position='202' /usr/local/mysql/var/mysql-bin.000015 | /usr/local/mysql/bin/mysql -uroot -p

Mysql增量備份與全量備份

1.首先確保已開啟binlog日誌功能。在my.cnf中包含下面的配置以啟用二進位制日誌 mysqld log bin mysql bin 2.建立兩份指令碼檔案,乙份為增量備份的指令碼檔案,另乙份為全量備份的指令碼檔案。指令碼檔案放這裡 全量備份指令碼start bin bash program ...

全備份 增量備份 差異備份和永久增量備份

在本文中你將學到 全備份 增量備份和差異備份,以及一些新型的備份方式,例如合成備份和永久增量備份。你還將學習到如何為你公司的資料選擇最佳的資料備份型別。在相當長一段時間,主要有三種基本的備份方式 全備份,增量備份和差異備份。最近,儘管資料備份軟體廠商已經推出了一些新型別的備份方式,但是你可能對此不熟...

全備份 增量備份 差異備份和永久增量備份

在本文中你將學到 全備份 增量備份和差異備份,以及一些新型的備份方式,例如合成備份和永久增量備份。你還將學習到如何為你公司的資料選擇最佳的資料備份型別。在相當長一段時間,主要有三種基本的備份方式 全備份,增量備份和差異備份。最近,儘管資料備份軟體廠商已經推出了一些新型別的備份方式,但是你可能對此不熟...