1. 程式人生 > >13.基於時間點的恢復

13.基於時間點的恢復

介紹

恢復完整備份後,您需要還原二進位制日誌以獲取時間點恢復。 備份提供備份可用的二進位制日誌位置。

操作

1 mysqldump or mysqlpump

binary log資訊根據傳遞給mysqldump/mysqlpump的選項作為CHANGE MASTER TO命令儲存在SQL檔案中。

1.1 如果使用–master-data引數匯出的備份集,則應使用slave的二進位制日誌

在slave資料庫執行備份遠端資料庫

mysqldump -h <master_host> \
-u backup_user \
--password=<pass> \
--all-databases \
--routines --events \
--single-transaction \
--master-data  > dump.sql

在slave資料庫恢復資料庫

mysql -u<user> -p -h <host> -f < dump.sql

檢視備份指令碼的資訊

shell> head -30 /backups/dump.sql

avatar

根據圖片顯示,現在在master伺服器應該使用mysql-bin.000002位置3012恢復

shell> mysqlbinlog --start-position=3012 --disable-log-bin /app/mysql/mysqldata/3306/binlog/mysql-bin.000002 | mysql -u<user> -p -h <host> -f
  • : slave伺服器

報錯

ERROR 1782 (HY000) at line 19: @@SESSION.GTID_NEXT cannot be set to ANONYMOUS when @@GLOBAL.GTID_MODE = ON.

在slave伺服器執行

set @@GLOBAL.GTID_MODE = ON_PERMISSIVE;
set @@GLOBAL.GTID_MODE = OFF_PERMISSIVE;

1.2 如果使用–dump-slave引數匯出備份集,則應該使用master日誌的位置

在slave資料庫執行備份遠端資料庫

mysqldump -h <master_host> \
-u backup_user \
--password=<pass> \
--all-databases \
--routines --events \
--single-transaction \
--dump-slave  > dump.sql

在slave資料庫恢復資料庫

mysql -u<user> -p -h <host> -f < dump.sql

推演binlog

shell> mysqlbinlog --start-position=463  --disable-log-bin /backups/binlogs/centos7-bin.000001 | mysql -u<user> -p -h <host> -f

注:

1.3 mydumper

通過mydumper在slave伺服器備份資料庫

mysql> mydumper -h 192.168.200.101 \
-u root \
--password=root \
--use-savepoints  \
--trx-consistency-only \
--kill-long-queries \
--outputdir /app/mysql/mysqldata/backup

在slave伺服器恢復資料庫

mysql> myloader \
--directory=/app/mysql/mysqldata/backup \
--user=root \
--password=root \
--queries-per-transaction=5000 \
--threads=8 \
--overwrite-tables

檢視metadata

shell> cat /app/mysql/mysqldata/backup/metadata

avatar

如果已從slave屬伺服器獲取二進位制日誌備份,則應從位置392處的mysql-bin.000004檔案開始還原

mysql> SHOW MASTER STATUS

相關推薦

13.基於時間恢復

介紹 恢復完整備份後,您需要還原二進位制日誌以獲取時間點恢復。 備份提供備份可用的二進位制日誌位置。 操作 1 mysqldump or mysqlpump binary log資訊根據傳遞給mysqldump/mysqlpump的選項作為CHANGE MASTER TO命令

12C-PDB基於時間恢復

RMAN>alter  pluggable database zaki1 close immediate; RMAN> run{ 2> set until time "TO_DATE('2016-10-31 12:03:08','yyyy-mm-dd hh

binlog-rollback.pl基於binlog位置時間恢復delete誤刪語句

基於位置點和時間點恢復delete誤刪一、基於binlog位置點的恢復 為了演示,刷新一個新的binlog文件,讓它單獨記錄delete刪除語句: MySQL [zhangyou]> flush logs Query OK, 0 rows affected (0.09 sec) MySQL [zhan

Mysql的增量備份 及基於時間與位置的恢復

pre school 主從架構 http 二進制 全備 etc 復數 根據 增量備份的優點是沒有重復數據,備份量不大,時間短。缺點也很明顯,需要上次完全備份及完全備份之後所有的增量備份才能恢復,反推恢復,操作較為繁瑣。 Mysql沒有提供增量備份的方法,但是可以通過二進制日

MySQL增量備份恢復基於時間與位置的恢復

local 間接 恢復 efault posit 創建 val etc 節點 為什麽使用增量備份? 完全備份有兩種方式,一種是使用tar打包數據文件,另一種是使用mysqldump進行完全備份。完全備份存在的問題很容易看到,每次都是把所有的數據內容進行備份,備份數據中有大量

MySQL 基於時間與位置恢復

開始 mark 文本 zhang map bin 完全 slave -o 基於時間點與位置恢復 利用二進制日誌可以實現基於時間與位置的恢復,例如由於誤操作刪除了一張表,這時候完全恢復是沒用的,因為日誌裏面還是存在錯誤語句,我們需要的是恢復到誤操作之前的狀態,然後跳過誤操作數

使用 mysqldump 實現 MySQL 5.7 基於時間恢復

trigger result c89 ade cto ima RoCE out a10 創建測試數據全備數據庫 mysqldump --single-transaction --flush-logs --master-data=2 --all-databases --tri

ARCHIVELOG模式下使用者管理的不完全恢復基於時間的不完全恢復

基於時間點的恢復主要使用於以下情況:誤刪除表、誤截斷表、提交了錯誤的資料。(從oracle 10g利用閃回更easy!)   首先關閉資料庫執行一個冷全備份(冷備份的時候使用者u1的t表中是有3條記錄的。) [sql] view plai

基於時間RMAN恢復

二. 恢復步驟: 1. 引數檔案恢復 [[email protected] ~]$ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Tue Sep 5 05:50:45 2017 Copyright

RMAN備份與恢復基於時間的不完全恢復

一 不完全恢復講解         在上一篇文章(RMAN備份與恢復之UNDO表空間丟失)中,我們講到UNDO表空間丟失怎麼處理。UNDO表空間是不可離線的,同樣,SYSTEM表空間也是不可離線的,所以SYSTEM表空間丟失的處理辦法和UNDO表空間丟失的處理辦法類似,在

MySQL中基於mysqldump和二進制日誌log-bin二進制日誌進行邏輯備份以及基於時間的還原

總結 mysql-bin lin .sql bin -h eat log-bin 之前 本文出處:http://www.cnblogs.com/wy123/p/6956464.html 本文僅模擬使用mysqldump和log-bin二進制日誌進行簡單

RMAN基於時間回複數據

1、檢視資料庫是否歸檔 [[email protected] ~]$sqlplus / as sysdba SQL> archive log list 2、實驗過程 2.1建立測試使用者 CREATE TABLESPACE qqqDATAFILE'/u0

數據庫恢復至某個時間

fast ott acl ring rod 宋體 ice reset iat 實例詳解: 數據庫恢復到某個時間點 [oracle@lyo1 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production o

使用xtrbackup/mysqldump全量備份+binlog備份恢復到最近一個時間

先用xtrabackup做全備: innobackupex --defaults-file=/usr/local/mysql/my.cnf --user=root --password=123 /home/backup/xtrabackup/ 全備完成之後新建sanguoyanyi表,並插入

mysql 開發進階篇系列 43 邏輯備份與恢復(基於時間和位置的不完全恢復)

一. 概述          在上篇講到了邏輯備份,使用mysqldump工具來備份一個庫,並使用完全恢復還原了資料庫。在結尾也講到了誤操作是不能用完全恢復的。解決辦法是:我們需要恢復到誤操作之前的狀態,然後跳過誤操作語句。再恢復後面執行的語句,完成我們的恢復,這種恢復叫“不完全恢復”。在mysql 中,不完

oracle通過快照恢復資料到某個時間

1、如果是第一次對錶操作,先執行這sql ALTER TABLE TB_YOFISHDK_ORDER_LOAN_INFO ENABLE ROW MOVEMENT; --注:如果報錯ORA-08189: cannot flashback the table because ro

一步一步告訴你DB2關於指定時間前滾恢復方法

(1)備份資料庫 [[email protected] ~ 22]$db2 backup db sample online include logs Backup successful. The timestamp for this backup image

恢復到特定時間、scn、日誌序列號),rman不完全恢復

將資料庫、表空間、資料檔案等恢復至恢復備份集儲存時間中的任何一個時間點/SCN/日誌序列(一般是日誌挖掘找到誤操作點),但須謹慎,操作前一定需要做好備份,具備條件的情況下最好先恢復到異機,避免業務停機時間。 前提:已經有資料庫備份 (作者已經提前準備了備份,這裡不進行備

DB2關於指定時間前滾恢復方法

其中,End Time: 20051223120902為備份的結束時間,同時它也是前滾時的最小恢復時間點(PIT),也就是說,如果按照指定時間點恢復,最小要恢復到這個時間點,如果用提前於這個時間的時間來前滾,將會返回資訊提示:[[email protected] ~ 31]$db2 ”rollfor

[RMAN]使用RMAN備份將資料庫不完全恢復到指定時間

RMAN作為Oracle強大的備份恢復工具,可以協助我們恢復資料庫到指定時間點,這便是Oracle不完全恢復的一種體現,通過這種方法可以找回我們曾經丟失的資料。這裡以找回誤TRUNCATE表資料為例給大家演示一下RMAN的不完全恢復功能。 1.調整資料庫為歸檔模式[emai