基于innobakcupex跨实例不完全恢复步骤

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:    MySQL在基于热备的基础上,可以实现对原有实例的完全或不完全恢复。而很多时候,原有实例部署了DRBD或者MHA等,在这种情况下,基于原有实例进行恢复会影响原有的故障现场及架构,可以通过跨实例恢复来恢复丢失或异常数据。

   MySQL在基于热备的基础上,可以实现对原有实例的完全或不完全恢复。而很多时候,原有实例部署了DRBD或者MHA等,在这种情况下,基于原有实例进行恢复会影响原有的故障现场及架构,可以通过跨实例恢复来恢复丢失或异常数据。同时跨实例恢复也可以实现基于整个实例进行实例级别数据库迁移。下文演示了基于跨实例的不完全恢复。

 

1、主要步骤
a、准备新实例
b、基于热备做prepare及recover
c、复制完整的备份到新实例(如果跨主机应复制到新主机)
d、启动新实例
e、根据需要恢复binlog到故障点
f、验证结果

 

2、演示跨实例不完全恢复

-- 说明:以下演示在同一主机上完成
-- 源实例端口及数据文件路径:3306 /data/mysqldata
-- 新实例端口及数据文件路径:3307 /data/recoverdata
a、准备新实例
-- 创建新实例数据路径
SHELL# mkdir -p /data/recoverdata     

-- 初始化新实例
SHELL# cp /etc/my.cnf /etc/my3307.cnf
SHELL# vi /etc/my3307.cnf             --修改相关配置选项,路径,端口号,servier_id等等
SHELL# /app/soft/mysql/scripts/mysql_install_db --user=mysql --ldata=/data/recoverdata --basedir=/app/soft/mysql \
> --defaults-file=/etc/my3307.cnf
 
SHELL# /app/soft/mysql/bin/mysqld_safe --defaults-file=/etc/my3307.cnf &
SHELL# /app/soft/mysql/bin/mysqladmin -u root password '***' -P3307 -S /tmp/mysql3307.sock
SHELL# /app/soft/mysql/bin/mysqladmin -uroot -p*** -P3307 -S /tmp/mysql3307.sock shutdown

b、基于热备做prepare及recover
--当前的备份情况为:
--20150128 全备,20150129 增备,20150130 增备,20150131 增备,备份时间为每天3点
--需要恢复到2015-01-31 23:53:54
--备份路径如下:
SHELL# pwd
/backup/hotbak/physical/20150128
SHELL# ls
base_20150128  inc_20150129  inc_20150130  inc_20150131

--prepare 全备
SHELL# innobackupex --apply-log --redo-only --user=root --password=*** --port=3307 \
--socket=/tmp/mysql3307.sock --defaults-file=/etc/my3307.cnf /backup/hotbak/physical/20150128/base_20150128

--prepare 增备
SHELL# innobackupex --apply-log --redo-only --user=root --password=*** --port=3307 \
--socket=/tmp/mysql3307.sock --defaults-file=/etc/my3307.cnf /backup/hotbak/physical/20150128/base_20150128 \
--incremental-dir=/backup/hotbak/physical/20150128/inc_20150129

--prepare 增备
SHELL# innobackupex --apply-log --redo-only --user=root --password=*** --port=3307 \
--socket=/tmp/mysql3307.sock --defaults-file=/etc/my3307.cnf /backup/hotbak/physical/20150128/base_20150128 \
--incremental-dir=/backup/hotbak/physical/20150128/inc_20150130

--prepare 增备,注意,最后一次不需要使用--redo-only选项,未提交的事务将回滚
SHELL# innobackupex --apply-log --user=root --password=*** --port=3307 --socket=/tmp/mysql3307.sock \
--defaults-file=/etc/my3307.cnf /backup/hotbak/physical/20150128/base_20150128 \
--incremental-dir=/backup/hotbak/physical/20150128/inc_20150131

c、复制完整的备份到新实例
SHELL# cp -R /backup/hotbak/physical/20150128/base_20150128/* /data/recoverdata
SHELL# chown mysql:mysql -R /data/recoverdata

# Author : Leshami
# Blog   : http://blog.csdn.net/leshami

d、启动新实例
-- 启动新实例并验证完整性
SHELL# /app/soft/mysql/bin/mysqld_safe --defaults-file=/etc/my3307.cnf &

e、根据需要恢复binlog到故障点
--假定我们需要恢复到2015-01-31 23:53:54,则需要提取binlog来进行不完全恢复。
--获取热备最后的binlog日志及位置
SHELL# more /backup/hotbak/physical/20150128/inc_20150131/xtrabackup_binlog_info 
mysql-bin.000036        100130712
SHELL# mysqlbinlog /data/mysqldata/mysql-bin.000036 --start-position=100130712 --stop-datetime="2015-01-31 23:53:54" \   
> |mysql -uroot -p*** -P3307 -S /tmp/mysql3307.sock

f、验证结果
mysql> select * from test.heartbeat;
+----------------------------+-----------+------------------+-----------+-----------------------+---------------------+
| ts                         | server_id | file             | position  | relay_master_log_file | exec_master_log_pos |
+----------------------------+-----------+------------------+-----------+-----------------------+---------------------+
| 2015-01-31T23:53:53.001690 |        11 | mysql-bin.000459 | 703735593 | NULL                  |                NULL |
+----------------------------+-----------+------------------+-----------+-----------------------+---------------------+
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8月前
|
存储 数据管理 数据库管理
DMS问题之从归档目标手动恢复数据到源如何解决
DMS(Data Management Service)是阿里云提供的一站式数据管理服务,支持数据开发、维护、治理等多种功能;本合集着重于介绍DMS的功能特点、操作流程和最佳实践,帮助用户高效进行数据管理和维护。
|
6月前
|
关系型数据库 分布式数据库 数据库
PolarDB产品使用问题之数据库处于只读状态,如何恢复其读写功能
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
PolarDB产品使用问题之数据库处于只读状态,如何恢复其读写功能
|
6月前
|
关系型数据库 分布式数据库 PolarDB
PolarDB产品使用问题之创建只读实例,在尝试修改数据时遇到了错误,该如何处理
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
6月前
|
Oracle 关系型数据库 数据库
|
6月前
|
SQL 存储 关系型数据库
|
7月前
|
NoSQL 测试技术 MongoDB
MongoDB数据库管理:全面掌握mongodump和mongorestore的备份与恢复技巧
MongoDB数据库管理:全面掌握mongodump和mongorestore的备份与恢复技巧
230 0
|
8月前
|
SQL 监控 关系型数据库
rds跨区迁移验证与切换
rds跨区迁移验证与切换
161 4
|
8月前
|
存储 关系型数据库 数据库
请解释一下云数据库的备份和恢复策略。
请解释一下云数据库的备份和恢复策略。
149 0
|
存储 安全 关系型数据库
MySQL数据库备份和恢复操作的步骤和注意事项
MySQL数据库备份和恢复操作的步骤和注意事项
|
SQL 数据库 虚拟化
备份链中断导致差异备份报错案例
原文:备份链中断导致差异备份报错案例   最近一台SQL Server服务器部署SQL Server Backup后,发现每晚的差异备份老是失败,报如下错误:   Msg 3035, Level 16, State 1, Line 1 无法执行数据库"xxxx" 的差异备份,因为不存在当前数据库备份。
1423 0

热门文章

最新文章