1 前 言
任何系统都有崩溃的可能,任何数据库产品的备份工作的重要性毋庸置疑。通过备份和恢复来保护数据,避免数据丢失,在发生灾难或人为误操作的情况下,能够进行恢复日常最重要的工作。不仅要保证能够成功备份,还要保证备份数据能够恢复,如果能在更短的时间进行恢复更是锦上添花。此方案是 Polardb-O 数据库采用全量备和 PG_WAL 日志来实现基于时间线的恢复工作
2 环境信息 主机信息 3 恢复过程业务数据库人为误操作导致库表数据丢失问题,因此需要借助备份库中的基准备份和增量PG_WAL归档日志来实现基于时间线数据恢复。
一、数据库备份
1、归档配置
创建归档目录 开启归档参数 启动数据库说明:如果当前数据库已经开启归档,就可以忽略此部分操作。直接进入下面操作。
2、 基础备份
使用polar_basebackup 工具创建基础备份 查看基础备份增量备份
开启了归档后,PG_WAL日志文件写满后,会自动将日志归档到本地目录/home/archive_wals。二 、数据库恢复
1、前置准备准备好一套需要恢复数据库的新主机,并安装相应的polardb-o数据库软件与PFS磁盘管理软件。
安装好polardb和PFS软件 用户环境变量配置 新增polardb用户环境变量.bash_profoke,然后执行soure ~/.bash_profile生效当前用户变量配置。 启动PFS进程 检查PFS文件系统是否具备条件 将全量基线备份与增量pg_wal日志上传到需要恢复的服务器说明:确认以上准备工作完成后,就可以进行下面的数据库恢复工作
2 、库恢复
将pfs文件上面的数据文件拷贝到PFS 检查pfs文件目录内容 恢复本地数据目 将归档文件手工拷贝到PFS 配置文件修改postgresql.conf 修改如下两处配置参数文件基于时间点增量恢复配置 需要在$PGDATA目录下新增恢复配置文件recovery.conf,并指定恢复时间点,修改参数recovery_target_time填写恢复到某个时间点 库恢复
本期作者|晏杰宏 主要负责数据库、中间件、大数据等基础软件建设、优化和业务保障工作。具有10年的电信与银行企业一线/二线运维服务管理经验。目前专注于云计算、中间件、开源技术和数据库等领域技术研究。持有Oracle OCP、weblogic OCP、Docker容器、Postgresql PGCE和阿里云ACP等认证。