基于innobakcupex跨实例不完全恢复步骤
来源:互联网 发布:三级域名需要备案吗 编辑:程序博客网 时间:2024/06/05 05:31
MySQL在基于热备的基础上,可以实现对原有实例的完全或不完全恢复。而很多时候,原有实例部署了DRBD或者MHA等,在这种情况下,基于原有实例进行恢复会影响原有的故障现场及架构,可以通过跨实例恢复来恢复丢失或异常数据。同时跨实例恢复也可以实现基于整个实例进行实例级别数据库迁移。下文演示了基于跨实例的不完全恢复。
1、主要步骤
a、准备新实例
b、基于热备做prepare及recover
c、复制完整的备份到新实例(如果跨主机应复制到新主机)
d、启动新实例
e、根据需要恢复binlog到故障点
f、验证结果
2、演示跨实例不完全恢复
-- 说明:以下演示在同一主机上完成-- 源实例端口及数据文件路径:3306 /data/mysqldata-- 新实例端口及数据文件路径:3307 /data/recoverdataa、准备新实例-- 创建新实例数据路径SHELL# mkdir -p /data/recoverdata -- 初始化新实例SHELL# cp /etc/my.cnf /etc/my3307.cnfSHELL# 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.sockSHELL# /app/soft/mysql/bin/mysqladmin -uroot -p*** -P3307 -S /tmp/mysql3307.sock shutdownb、基于热备做prepare及recover--当前的备份情况为:--20150128 全备,20150129 增备,20150130 增备,20150131 增备,备份时间为每天3点--需要恢复到2015-01-31 23:53:54--备份路径如下:SHELL# pwd/backup/hotbak/physical/20150128SHELL# lsbase_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_20150131c、复制完整的备份到新实例SHELL# cp -R /backup/hotbak/physical/20150128/base_20150128/* /data/recoverdataSHELL# chown mysql:mysql -R /data/recoverdata# Author : Leshami# Blog : http://blog.csdn.net/leshamid、启动新实例-- 启动新实例并验证完整性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 100130712SHELL# mysqlbinlog /data/mysqldata/mysql-bin.000036 --start-position=100130712 --stop-datetime="2015-01-31 23:53:54" \ > |mysql -uroot -p*** -P3307 -S /tmp/mysql3307.sockf、验证结果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 |+----------------------------+-----------+------------------+-----------+-----------------------+---------------------+
0 0
- 基于innobakcupex跨实例不完全恢复步骤
- 基于SCN的不完全恢复
- 基于cancel的不完全恢复
- 基于cancel的不完全恢复
- 基于Innobackupex的不完全恢复
- 不完全恢复之--基于时间恢复
- RMAN基于时间点恢复不完全恢复
- RMAN基于时间点恢复不完全恢复
- 基于时间点的不完全恢复
- 基于日志序列的不完全恢复
- RMAN基于时间点的不完全恢复
- Oracle基于Cancel的不完全恢复
- Oracle基于时间的不完全恢复
- Oracle 基于用户管理的不完全恢复
- Oracle基于用户管理的不完全恢复
- Oracle基于用户管理的不完全恢复
- Oracle基于RMAN的不完全恢复
- 基于时间不完全恢复之rman篇
- 常用的php函数
- kafka学习笔记
- Monkey 测试
- 少一点抱怨
- WCF分布式开发步步为赢(10):请求应答(Request-Reply)、单向操作(One-Way)、回调操作(Call Back).
- 基于innobakcupex跨实例不完全恢复步骤
- javax.validation.UnexpectedTypeException: No validator could be found for type: java.lang.Integer
- 浮动图标菜单展开动画 仿印象笔记
- 为你的android 应用自定义ProgressBar
- php彩蛋
- Android官方开发指南-设备兼容性(Device Compatibility)
- 海盗拼酒量 有一群海盗(不多于20人),在船上比拼酒量。
- 使用 Java 执行器实现线程池
- Android官方开发指南-系统权限(System Permissions)