基于percona xtrabackup的innobackupex如何实现基于时间点数据库恢复

介绍

基于percona xtrabackup的innobackupex如何实现基于时间点数据库恢复,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

前言

数据库在运行期间,可能是因为人为原因误操作或者出现存储故障,导致某些表不能正常访问,此时,可以使用基于时间点的恢复,采用数据库备份及二进制日志,把误操作或出现故障的数据还原回来,建议不要在生产系统中进行基于时间点的恢复,可以在一个临时的环境把数据恢复出来,然后让业务及开发确认,然后再把数据导回到生产数据库,这样也不影响数据库中其它业务的运行。

基于时间点或基于二进制日志位置的数据库恢复

1,数据库的当前数据库

mysql>select * from zxydb.t_go;

+——+——+

|, | b,,|

+——+——+

|, 1 |,,1 |

|, 2 |,,2 |

|, 3 |,,3 |

|, 5 |,,5 |

|, 8 |,,8 |

10 | |,10 |

| | 11,11 |

| | 12,12 |

+——+——+

8行组(0.00秒)

2,构建数据库的基准备份

——构建存储数据库基准备份的目录

(root@standbygtid mysql) # mkdir - p/database_base_dir

(root@standbygtid mysql) # innobackupex, -uroot -psystem/database_base_dir——no-timestamp

(root@standbygtid mysql) # cd/database_base_dir/

[root@standbygtid database_base_dir] #我

总用量77868

-rw-r - - - - - - 1根,根,,418年11月5日00:56 backup-my.cnf

drwxr-x——2根,根,4096年11月,5日00:56 completedb

-rw-r——1根根79691776 11月,5日00:56 ibdata1

drwxr-x——2根,根,4096年11月,5日00:56 mysql

drwxr-x——2根,根,4096年11月,5日00:56 performance_schema

drwxr-x——2根,根,4096年11月,5日00:56测试

-rw-r - - - - - - 1根,根,,11月18日,5日00:56 xtrabackup_binlog_info

-rw-r - - - - - - 1根,根,,115年11月5日00:56 xtrabackup_checkpoints

-rw-r - - - - - - 1根,根,,507年11月5日00:56 xtrabackup_info

-rw-r - - - - - - 1根,根,2560年11月,5日00:56 xtrabackup_logfile

drwxr-x——2根,根,4096年11月,5日00:56 zxydb

3,准备用于恢复上述的基准备份

(注:其实就是用在线日志应用到基准备份,确保数据一致性)

[root@standbygtid database_base_dir] # innobackupex, -uroot -psystem——运用原木,/database_base_dir

[root@standbygtid database_base_dir] #我

总用量196652

-rw-r - - - - - - 1根,根,,418年11月5日00:56 backup-my.cnf

drwxr-x——2根,根,4096年11月,5日00:56 completedb

-rw-r——1根根79691776 11月,5 01:01 ibdata1

-rw-r——1根根50331648 11月,5 01:01 ib_logfile0

-rw-r——1根根50331648 11月,5 01:01 ib_logfile1

-rw-r——1根根12582912 11月,5 01:01 ibtmp1

drwxr-x——2根,根,4096年11月,5日00:56 mysql

drwxr-x——2根,根,4096年11月,5日00:56 performance_schema

drwxr-x——2根,根,4096年11月,5日00:56测试

-rw-r - - - - - - 1根,根,,11月18日,5日00:56 xtrabackup_binlog_info

-rw-r - r - 1根,根,,11月19日,5 01:01 xtrabackup_binlog_pos_innodb

-rw-r - - - - - - 1根,根,,115年11月5日01:01 xtrabackup_checkpoints

-rw-r - - - - - - 1根,根,,507年11月5日00:56 xtrabackup_info

-rw-r - - - - - - 1根的根,8388608 11月,5 01:01 xtrabackup_logfile

drwxr-x——2根,根,4096年11月,5日00:56 zxydb

4,查看上述基准备份对应的二进制日志及位置

(注:如下基于时间点恢复就是从这个二进制日志及位置开始恢复到某个时间点,很重要哟)

[root@standbygtid database_base_dir] #更多xtrabackup_binlog_info

binlog。000001120

[root@standbygtid database_base_dir] #,

5,为了更好模拟基于时间点恢复,切换二进制日志,产生新的二进制日志

mysql>刷新日志;

查询好,0行影响(0.01秒)

6,查看当前的二进制日志及位置

mysql>显示主状态;

+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +

|文件,,,,位置,| | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +

| binlog。000002 |,,337 |大敌;,,,,,|大敌;,,,,,,,|大敌;,,,,,,,,|

+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +

基于percona xtrabackup的innobackupex如何实现基于时间点数据库恢复