xtrabackup全备方案,备份恢复全过程记录
全备:[root@Slave02 back_up]# xtrabackup_55 --defaults-file=/etc/my.cnf --backup --target-dir=/data/back_up/xtrabackup_55 version 1.6.2 for MySQL server 5.5.10 Linux (i686) (revision id: undefined)xtrabackup: uses posix_fadvise().xtrabackup: cd to /usr/local/mysql/dataxtrabackup: Target instance is assumed as followings.xtrabackup: innodb_data_home_dir = ./xtrabackup: innodb_data_file_path = ibdata1:10M:autoextendxtrabackup: innodb_log_group_home_dir = ./xtrabackup: innodb_log_files_in_group = 2xtrabackup: innodb_log_file_size = 5242880130327 14:11:12 InnoDB: Using Linux native AIO130327 14:11:12 InnoDB: Warning: allocated tablespace 2, old maximum was 0>> log scanned up to (893330211)[01] Copying ./ibdata1 to /data/back_up//ibdata1>> log scanned up to (893330211)>> log scanned up to (893330211)[01] ...done[01] Copying ./inno/mm.ibd to /data/back_up//inno/mm.ibd[01] ...done[01] Copying ./inno/t.ibd to /data/back_up//inno/t.ibd[01] ...donextrabackup: The latest check point (for incremental): '893330211'>> log scanned up to (893330211)xtrabackup: Stopping log copying thread.xtrabackup: Transaction log of lsn (893330211) to (893330211) was copied.[root@Slave02 back_up]# [root@Slave02 back_up]# lsibdata1 inno xtrabackup_checkpoints xtrabackup_logfile[root@Slave02 back_up]# cd inno/[root@Slave02 inno]# lsmm.ibd t.ibd[root@Slave02 inno]# lltotal 208-rw-r--r-- 1 root root 98304 Mar 27 14:11 mm.ibd-rw-r--r-- 1 root root 98304 Mar 27 14:11 t.ibd[root@Slave02 inno]# [root@Slave02 inno]# cp /usr/local/mysql/data/inno/*.frm /data/back_up/inno/ --复制表结构文件进行到备份目录内;[root@Slave02 inno]# cd /data/back_up/inno/[root@Slave02 inno]# lsmm.frm mm.ibd t.frm t.ibd ----此目录内有完整的IBD数据文件和frm表结构文件;[root@Slave02 inno]# [root@Slave02 inno]# cd ..[root@Slave02 data]# lsbook log.1 mysql-bin.000004 prodibdata1 mysql mysql-bin.index Slave02.errib_logfile0 mysql-bin.000001 mysqld_multi.log Slave02.pidib_logfile1 mysql-bin.000002 mysql.pid slow.loginno mysql-bin.000003 performance_schema test---以下开始测试全库innodb的恢复过程[root@Slave02 data]# rm -rf inno/ ----删除inno里的所有文件(ibd,from等)[root@Slave02 data]# lsbook mysql mysql-bin.index Slave02.erribdata1 mysql-bin.000001 mysqld_multi.log Slave02.pidib_logfile0 mysql-bin.000002 mysql.pid slow.logib_logfile1 mysql-bin.000003 performance_schema testlog.1 mysql-bin.000004 prod[root@Slave02 data]# cp -r /data/back_up/inno/ /usr/local/mysql/data/ --使用备份的数据进行还原到相关目录[root@Slave02 data]# lsbook log.1 mysql-bin.000004 prodibdata1 mysql mysql-bin.index Slave02.errib_logfile0 mysql-bin.000001 mysqld_multi.log Slave02.pidib_logfile1 mysql-bin.000002 mysql.pid slow.loginno mysql-bin.000003 performance_schema test[root@Slave02 data]# cd inno/[root@Slave02 inno]# ll ---查看到相关的目前权限不对,进行修改total 240-rw-r----- 1 root root 8554 Mar 27 14:20 mm.frm-rw-r--r-- 1 root root 98304 Mar 27 14:20 mm.ibd-rw-r----- 1 root root 8554 Mar 27 14:20 t.frm-rw-r--r-- 1 root root 98304 Mar 27 14:20 t.ibd[root@Slave02 inno]# [root@Slave02 inno]# lltotal 240-rw-r----- 1 root root 8554 Mar 27 14:20 mm.frm-rw-r--r-- 1 root root 98304 Mar 27 14:20 mm.ibd-rw-r----- 1 root root 8554 Mar 27 14:20 t.frm-rw-r--r-- 1 root root 98304 Mar 27 14:20 t.ibd[root@Slave02 inno]# chown -R mysql:mysql /usr/local/mysql/data/inno/[root@Slave02 inno]# ll -latotal 256drwx------ 2 mysql mysql 4096 Mar 27 14:20 .drwxr-xr-x 8 mysql mysql 4096 Mar 27 14:20 ..-rw-r----- 1 mysql mysql 8554 Mar 27 14:20 mm.frm-rw-r--r-- 1 mysql mysql 98304 Mar 27 14:20 mm.ibd-rw-r----- 1 mysql mysql 8554 Mar 27 14:20 t.frm-rw-r--r-- 1 mysql mysql 98304 Mar 27 14:20 t.ibd[root@Slave02 inno]# [root@Slave02 inno]# service mysqld restart -----重启msyql,进行校验下数据;Shutting down MySQL. [ OK ]Starting MySQL.. [ OK ][root@Slave02 inno]# mysql -uroot -prootWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1Server version: 5.5.13-log Source distributionCopyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> use inno;Database changedmysql> show tables;+----------------+| Tables_in_inno |+----------------+| mm || t |+----------------+2 rows in set (0.00 sec)mysql> select * from mm; ---恢复无误正常;+------+| a |+------+| 1 || 2 || 3 || 4 |+------+4 rows in set (0.00 sec)mysql> mysql> select * from t;+------+| a |+------+| 1 || 2 || 3 |+------+3 rows in set (0.00 sec)mysql>