使用mysql备份工具innobackupex将本地数据 直接恢复 到远端服务器数据目录操作实例

innobackupex 支持所有mysql引擎数据备份恢复安装配置方法及原理介绍,访问下面链接

http://michaelkang.blog.51cto.com/1553154/1216826

测试环境介绍:


#mysql数据目录

/data/3306/data


#备份文件存放目录

/data/3306/backup


#mysql配置文件位置

/data/3306/my.cnf


#备份前首先所需要建立一个备份所需的目录

mkdir -p /data/3306/backup


mysql 版本 :

[root@slave2 3306]# mysql -V

mysql  Ver 14.14 Distrib 5.5.25, for Linux (x86_64) using  EditLine wrapper


系统版本:

more /etc/redhat-release

CentOS release 6.2 (Final)


内核版本:

[root@slave2 3306]# uname -a

Linux slave2 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux


测试环境介绍:

本地IP:192.168.1.199

远端服务器IP:192.168.1.200



step:1

模拟对端数据丢失,删除远端服务器/data/3306/data目录下所有数据


rm -rf /data/3306/data/*


step:2

查看本地数据库信息

mysql> show databases;

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| ptmind             |

| ptmind_common      |

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

5 rows in set (0.29 sec)


mysql> use ptmind_common;

Database changed

mysql> show tables;

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

| Tables_in_ptmind_common            |

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

| dtl_full_pv_detail                 |

中间省略|

| tst_pn_detail                      |

| tst_pv_detail                      |

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

60 rows in set (0.00 sec)


step :3

开始往对端进行数据恢复;


[root@slave1 ~]# innobackupex  --defaults-file=/data/3306/my.cnf  --parallel=4 --stream=tar /data/3306/data | ssh [email protected] "tar -ixf - -C /data/3306/data"

出现如下结果为数据恢复完成

IMPORTANT: Please check that the backup run completes successfully.

          At the end of a successful backup run innobackupex

          prints "completed OK!".


mysql主从情况下可以使用如下方法进行复制;


将master\Slave 199的MySQL数据直接远程热备份到Slave 200


innobackupex --defaults-file=/data/3306/my.cnf --parallel=4 --slave-info --safe-slave-backup --stream=tar /data/3306/data| ssh [email protected] "tar -ixf - -C /data/3306/data"

注:这里备份使用--slave-info可以将Master的binary log的文件名和偏移位置记录到xtrabackup_slave_info文件中.而使用--safe-slave-backup会暂停Slave的SQL线程直到备份结束,这样可以确保一致性的复制状态.

step:4

确认远端服务器数据已经生成;

[root@slave2 data]# pwd

/data/3306/data


[root@slave2 data]# ll

total 2322868

-rw-r--r-- 1 mysql mysql        262 Jun  4 18:37 backup-my.cnf

-rw-rw---- 1 mysql mysql 1570766848 Jun  4 18:44 ibdata1

-rw-r--r-- 1 mysql mysql  268435456 Jun  4 18:45 ib_logfile0

-rw-r--r-- 1 mysql mysql  268435456 Jun  4 18:44 ib_logfile1

-rw-r--r-- 1 mysql mysql  268435456 Jun  4 18:44 ib_logfile2

drwxr-xr-x 2 mysql mysql       4096 Jun  4 18:40 mysql

-rw-rw---- 1 mysql mysql        107 Jun  4 18:45 mysql-bin.000001

-rw-rw---- 1 mysql mysql         19 Jun  4 18:45 mysql-bin.index

drwxr-xr-x 2 mysql mysql       4096 Jun  4 18:40 performance_schema

drwxr-xr-x 2 mysql mysql       4096 Jun  4 18:40 ptmind

drwxr-xr-x 2 mysql mysql     393216 Jun  4 18:40 ptmind_common

-rw-rw---- 1 mysql mysql        166 Jun  4 18:45 slave2-slow.log

-rw-r--r-- 1 mysql mysql         13 Jun  4 18:40 xtrabackup_binary

-rw-r--r-- 1 mysql mysql         23 Jun  4 18:38 xtrabackup_binlog_info

-rw-r--r-- 1 mysql mysql         29 Jun  4 18:44 xtrabackup_binlog_pos_innodb

-rw-rw---- 1 mysql mysql         95 Jun  4 18:44 xtrabackup_checkpoints

-rw-rw---- 1 mysql mysql    2097152 Jun  4 18:44 xtrabackup_logfile

数据已经生成


step:5

应用初始化新copy到本地的日志文件;

innobackupex --apply-log  /data/3306/data


可选参数:

指定使用内存

--use-memory=4G


对xtrabackup的--prepare参数的封装

--apply-log


step: 6

修改文件权限

cd /data/3306/

chown -R mysql:mysql data


step: 7

重启数据库验证数据库运行状态正常;


service mysql restart


step :9

验证对端数据库数据完整性


mysql> show databases;

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| ptmind             |

| ptmind_common      |

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

5 rows in set (0.29 sec)


mysql> use ptmind_common;

Database changed

mysql> show tables;

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

| Tables_in_ptmind_common            |

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

| dtl_full_pv_detail                 |

中间省略|

| tst_pn_detail                      |

| tst_pv_detail                      |

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

60 rows in set (0.00 sec)


验证两端数据一致!数据恢复成功!


你可能感兴趣的:(mysql,InnoDB,innobackupex,数据远端备份)