2013年(350)
分类: Mysql/postgreSQL
2013-04-11 15:57:29
XtraBackup提供了增量和的功能,不过,其增量的设计方案与这类备份工具可是完全不同的哟,接下来,我们以实例来说明这一点。
下列测试基于最新的xtrabackup1.6版本。关于xtrabackup1.6的编译请参考:http://space.itpub.net/7607759/viewspace-697899
建库如下:
mysql> create database jss;
Query OK, 1 row affected (0.01 sec)
mysql> use jss;
Database changed
mysql> create table j1(id int);
Query OK, 0 rows affected (0.06 sec)
mysql> insert into j1 values (1);
Query OK, 1 row affected (0.01 sec)创建全备集:
[root@rhel5u3 ~]# /usr/local/mysql55/bin/innobackupex --defaults-file=/data/mysqldata/3306/my.cnf --user=root --password=123456 /data/backup/full/
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona Inc 2009-2011. All Rights Reserved.
This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
110617 12:04:45 innobackupex: Starting mysql with options: --defaults-file='/data/mysqldata/3306/my.cnf' --password='123456' --user='root' --unbuffered --
110617 12:04:45 innobackupex: Connected to database with mysql child process (pid=16969)
110617 12:04:51 innobackupex: Connection to database server closed
IMPORTANT: Please check that the backup run completes successfully.
At the end of a successful backup run innobackupex
prints "completed OK!".
innobackupex: Using mysql Ver 14.14 Distrib 5.5.12, for Linux (x86_64) using EditLine wrapper
innobackupex: Using mysql server version Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
innobackupex: Created backup directory /data/backup/full/2011-06-17_12-04-51
110617 12:04:51 innobackupex: Starting mysql with options: --defaults-file='/data/mysqldata/3306/my.cnf' --password='123456' --user='root' --unbuffered --
110617 12:04:51 innobackupex: Connected to database with mysql child process (pid=16997)
110617 12:04:55 innobackupex: Connection to database server closed
110617 12:04:55 innobackupex: Starting ibbackup with command: xtrabackup_55 --defaults-file="/data/mysqldata/3306/my.cnf" --backup --suspend-at-end --target-dir=/data/backup/full/2011-06-17_12-04-51
innobackupex: Waiting for ibbackup (pid=17009) to suspend
innobackupex: Suspend file '/data/backup/full/2011-06-17_12-04-51/xtrabackup_suspended'
xtrabackup_55 Ver undefined Rev undefined for 5.5.10 Linux (x86_64)
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /data/mysqldata/3306/data
xtrabackup: Target instance is assumed as followings.
xtrabackup: innodb_data_home_dir = /data/mysqldata/3306/innodb_ts
xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup: innodb_log_group_home_dir = /data/mysqldata/3306/innodb_log
xtrabackup: innodb_log_files_in_group = 2
xtrabackup: innodb_log_file_size = 5242880
110617 12:04:55 InnoDB: Using Linux native AIO
110617 12:04:55 InnoDB: Warning: allocated tablespace 7, old maximum was 0
>> log scanned up to (111259421)
[01] Copying /data/mysqldata/3306/innodb_ts/ibdata1
to /data/backup/full/2011-06-17_12-04-51/ibdata1
>> log scanned up to (111259421)
[01] ...done
[01] Copying ./test/j2.ibd
to /data/backup/full/2011-06-17_12-04-51/test/j2.ibd
[01] ...done
[01] Copying ./test/j3.ibd
to /data/backup/full/2011-06-17_12-04-51/test/j3.ibd
[01] ...done
[01] Copying ./jss/j1.ibd
to /data/backup/full/2011-06-17_12-04-51/jss/j1.ibd
[01] ...done
110617 12:05:09 innobackupex: Continuing after ibbackup has suspended
110617 12:05:09 innobackupex: Starting mysql with options: --defaults-file='/data/mysqldata/3306/my.cnf' --password='123456' --user='root' --unbuffered --
110617 12:05:09 innobackupex: Connected to database with mysql child process (pid=17024)
>> log scanned up to (111259421)
110617 12:05:13 innobackupex: Starting to lock all tables...
>> log scanned up to (111259421)
>> log scanned up to (111259421)
110617 12:05:24 innobackupex: All tables locked and flushed to disk
110617 12:05:24 innobackupex: Starting to backup .frm, .MRG, .MYD, .MYI,
innobackupex: .TRG, .TRN, .ARM, .ARZ, .CSM, .CSV and .opt files in
innobackupex: subdirectories of '/data/mysqldata/3306/data'
innobackupex: Backing up file '/data/mysqldata/3306/data/test/j2.frm'
innobackupex: Backing up file '/data/mysqldata/3306/data/test/j1.frm'
innobackupex: Backing up file '/data/mysqldata/3306/data/test/j3.frm'
innobackupex: Backing up files '/data/mysqldata/3306/data/performance_schema/*.{frm,MYD,MYI,MRG,TRG,TRN,ARM,ARZ,CSM,CSV,opt,par}' (18 files)
innobackupex: Backing up file '/data/mysqldata/3306/data/jss/j1.frm'
innobackupex: Backing up file '/data/mysqldata/3306/data/jss/db.opt'
innobackupex: Backing up files '/data/mysqldata/3306/data/mysql/*.{frm,MYD,MYI,MRG,TRG,TRN,ARM,ARZ,CSM,CSV,opt,par}' (72 files)
110617 12:05:26 innobackupex: Finished backing up .frm, .MRG, .MYD, .MYI, .TRG, .TRN, .ARM, .ARZ, .CSV, .CSM and .opt files
innobackupex: Resuming ibbackup
xtrabackup: The latest check point (for incremental): '111259421'
>> log scanned up to (111259421)
xtrabackup: Stopping log copying thread.
xtrabackup: Transaction log of lsn (111259421) to (111259421) was copied.
110617 12:05:29 innobackupex: All tables unlocked
110617 12:05:29 innobackupex: Connection to database server closed
innobackupex: Backup created in directory '/data/backup/full/2011-06-17_12-04-51'
innobackupex: MySQL binlog position: filename 'mysql-bin.000010', position 454
110617 12:05:29 innobackupex: completed OK!登录到,创建几个新的对象:
mysql> use jss;
Database changed
mysql> show tables;
+---------------+
| Tables_in_jss |
+---------------+
| j1 |
+---------------+
1 row in set (0.00 sec)
mysql> truncate table j1;
Query OK, 0 rows affected (0.01 sec)
mysql> create table j2(id int);
Query OK, 0 rows affected (0.04 sec)
mysql> insert into j2 values (1);
Query OK, 1 row affected (0.01 sec)执行增量备份:
[root@rhel5u3 ~]# /usr/local/mysql55/bin/innobackupex --defaults-file=/data/mysqldata/3306/my.cnf --incremental --incremental-basedir=/data/backup/full/2011-06-17_12-04-51 --user=root --password='123456' /data/backup/rec/
Use of uninitialized value in scalar chomp at /usr/local/mysql55/bin/innobackupex line 1657.
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona Inc 2009-2011. All Rights Reserved.
This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
110617 12:09:06 innobackupex: Starting mysql with options: --defaults-file='/data/mysqldata/3306/my.cnf' --password='123456' --user='root' --unbuffered --
110617 12:09:06 innobackupex: Connected to database with mysql child process (pid=17195)
110617 12:09:13 innobackupex: Connection to database server closed
IMPORTANT: Please check that the backup run completes successfully.
At the end of a successful backup run innobackupex
prints "completed OK!".
innobackupex: Using mysql Ver 14.14 Distrib 5.5.12, for Linux (x86_64) using EditLine wrapper
innobackupex: Using mysql server version Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
innobackupex: Created backup directory /data/backup/rec/2011-06-17_12-09-13
110617 12:09:13 innobackupex: Starting mysql with options: --defaults-file='/data/mysqldata/3306/my.cnf' --password='123456' --user='root' --unbuffered --
110617 12:09:13 innobackupex: Connected to database with mysql child process (pid=17223)
110617 12:09:17 innobackupex: Connection to database server closed
110617 12:09:17 innobackupex: Starting ibbackup with command: xtrabackup_55 --defaults-file="/data/mysqldata/3306/my.cnf" --backup --suspend-at-end --target-dir=/data/backup/rec/2011-06-17_12-09-13 --incremental-basedir='/data/backup/full/2011-06-17_12-04-51'
innobackupex: Waiting for ibbackup (pid=17235) to suspend
innobackupex: Suspend file '/data/backup/rec/2011-06-17_12-09-13/xtrabackup_suspended'
xtrabackup_55 Ver undefined Rev undefined for 5.5.10 Linux (x86_64)
incremental backup from 111259421 is enabled.
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /data/mysqldata/3306/data
xtrabackup: Target instance is assumed as followings.
xtrabackup: innodb_data_home_dir = /data/mysqldata/3306/innodb_ts
xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup: innodb_log_group_home_dir = /data/mysqldata/3306/innodb_log
xtrabackup: innodb_log_files_in_group = 2
xtrabackup: innodb_log_file_size = 5242880
110617 12:09:17 InnoDB: Using Linux native AIO
110617 12:09:17 InnoDB: Warning: allocated tablespace 7, old maximum was 0
>> log scanned up to (111262528)
[01] Copying /data/mysqldata/3306/innodb_ts/ibdata1
to /data/backup/rec/2011-06-17_12-09-13/ibdata1.delta
[01] ...done
[01] Copying ./test/j2.ibd
to /data/backup/rec/2011-06-17_12-09-13/test/j2.ibd.delta
[01] ...done
[01] Copying ./test/j3.ibd
to /data/backup/rec/2011-06-17_12-09-13/test/j3.ibd.delta
[01] ...done
[01] Copying ./jss/j2.ibd
to /data/backup/rec/2011-06-17_12-09-13/jss/j2.ibd.delta
[01] ...done
[01] Copying ./jss/j1.ibd
to /data/backup/rec/2011-06-17_12-09-13/jss/j1.ibd.delta
[01] ...done
110617 12:09:21 innobackupex: Continuing after ibbackup has suspended
110617 12:09:21 innobackupex: Starting to backup .frm, .MRG, .MYD, .MYI,
innobackupex: .TRG, .TRN, .ARM, .ARZ, .CSM, .CSV and .opt files in
innobackupex: subdirectories of '/data/mysqldata/3306/data'
innobackupex: Backing up file '/data/mysqldata/3306/data/test/j2.frm'
innobackupex: Backing up file '/data/mysqldata/3306/data/test/j1.frm'
innobackupex: Backing up file '/data/mysqldata/3306/data/test/j3.frm'
innobackupex: Backing up files '/data/mysqldata/3306/data/performance_schema/*.{frm,MYD,MYI,MRG,TRG,TRN,ARM,ARZ,CSM,CSV,opt,par}' (18 files)
innobackupex: Backing up file '/data/mysqldata/3306/data/jss/j2.frm'
innobackupex: Backing up file '/data/mysqldata/3306/data/jss/j1.frm'
innobackupex: Backing up file '/data/mysqldata/3306/data/jss/db.opt'
innobackupex: Backing up files '/data/mysqldata/3306/data/mysql/*.{frm,MYD,MYI,MRG,TRG,TRN,ARM,ARZ,CSM,CSV,opt,par}' (72 files)
>> log scanned up to (111262528)
110617 12:09:24 innobackupex: Finished backing up .frm, .MRG, .MYD, .MYI, .TRG, .TRN, .ARM, .ARZ, .CSV, .CSM and .opt files
innobackupex: Resuming ibbackup
xtrabackup: The latest check point (for incremental): '111262528'
>> log scanned up to (111262528)
xtrabackup: Stopping log copying thread.
xtrabackup: Transaction log of lsn (111262528) to (111262528) was copied.
innobackupex: Backup created in directory '/data/backup/rec/2011-06-17_12-09-13'
110617 12:09:24 innobackupex: completed OK!增量备份仅针对InnoDB这类支持事务的引擎,对于MyISAM等引擎,则仍然是全备了。
停止服务:
[root@rhel5u3 ~]# mysqladmin -uroot -p'123456' -S /data/mysqldata/3306/mysql.sock shutdown
110617 14:36:02 mysqld_safe mysqld from pid file /data/mysqldata/3306/data/rhel5u3.pid ended
[1]+ Done mysqld_safe --defaults-file=/data/mysqldata/3306/my.cnf (wd: /data/mysqldata/3306)移动之前的数据目录:
创建工作目录:
[root@rhel5u3 ~]# mkdir /data/mysqldata/3306
[root@rhel5u3 ~]# cd /data/mysqldata/3306
[root@rhel5u3 3306]# mkdir tmp binlog data innodb_log innodb_tsPrepare完整备份集:
[root@rhel5u3 3306]# /usr/local/mysql55/bin/innobackupex --defaults-file=/data/mysqldata/3306-jss-bak/my.cnf --apply-log --redo-only /data/backup/full/2011-06-17_12-04-51 --user=root --password='123456'
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona Inc 2009-2011. All Rights Reserved.
This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
IMPORTANT: Please check that the apply-log run completes successfully.
At the end of a successful apply-log run innobackupex
prints "completed OK!".
110617 14:40:29 innobackupex: Starting ibbackup with command: xtrabackup_55 --defaults-file="/data/mysqldata/3306-jss-bak/my.cnf" --prepare --target-dir=/data/backup/full/2011-06-17_12-04-51 --apply-log-only
xtrabackup_55 Ver undefined Rev undefined for 5.5.10 Linux (x86_64)
xtrabackup: cd to /data/backup/full/2011-06-17_12-04-51
xtrabackup: This target seems to be not prepared yet.
xtrabackup: xtrabackup_logfile detected: size=2359296, start_lsn=(111259421)
xtrabackup: Temporary instance for recovery is set as followings.
xtrabackup: innodb_data_home_dir = ./
xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup: innodb_log_group_home_dir = ./
xtrabackup: innodb_log_files_in_group = 1
xtrabackup: innodb_log_file_size = 2359296
110617 14:40:29 InnoDB: Using Linux native AIO
xtrabackup: Starting InnoDB instance for recovery.
xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
110617 14:40:29 InnoDB: The InnoDB memory heap is disabled
110617 14:40:29 InnoDB: Mutexes and rw_locks use GCC atomic builtins
110617 14:40:29 InnoDB: Compressed tables use zlib 1.2.3
110617 14:40:29 InnoDB: Using Linux native AIO
110617 14:40:29 InnoDB: Warning: innodb_file_io_threads is deprecated. Please use innodb_read_io_threads and innodb_write_io_threads instead
110617 14:40:29 InnoDB: Initializing buffer pool, size = 100.0M
110617 14:40:29 InnoDB: Completed initialization of buffer pool
110617 14:40:29 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
110617 14:40:29 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Last MySQL binlog file position 0 454, file name ./mysql-bin.000010
[notice (again)]
If you use binary log and don't use any hack of group commit,
the binary log position seems to be:
InnoDB: Last MySQL binlog file position 0 454, file name ./mysql-bin.000010
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
110617 14:40:29 InnoDB: Starting shutdown...
110617 14:40:30 InnoDB: Shutdown completed; log sequence number 111259421
110617 14:40:30 innobackupex: completed OK!Prepare增量备份集:
[root@rhel5u3 3306]# /usr/local/mysql55/bin/innobackupex --defaults-file=/data/mysqldata/3306-jss-bak/my.cnf --apply-log --redo-only /data/backup/full/2011-06-17_12-04-51 --incremental-dir=/data/backup/rec/2011-06-17_12-09-13 --user=root --password='123456'
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona Inc 2009-2011. All Rights Reserved.
This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
IMPORTANT: Please check that the apply-log run completes successfully.
At the end of a successful apply-log run innobackupex
prints "completed OK!".
110617 14:42:19 innobackupex: Starting ibbackup with command: xtrabackup_55 --defaults-file="/data/mysqldata/3306-jss-bak/my.cnf" --prepare --target-dir=/data/backup/full/2011-06-17_12-04-51 --apply-log-only --incremental-dir=/data/backup/rec/2011-06-17_12-09-13
xtrabackup_55 Ver undefined Rev undefined for 5.5.10 Linux (x86_64)
incremental backup from 111259421 is enabled.
xtrabackup: cd to /data/backup/full/2011-06-17_12-04-51
xtrabackup: This target seems to be already prepared.
xtrabackup: xtrabackup_logfile detected: size=2097152, start_lsn=(111262528)
xtrabackup: page size for /data/backup/rec/2011-06-17_12-09-13/ibdata1.delta is 16384 bytes
Applying /data/backup/rec/2011-06-17_12-09-13/ibdata1.delta ...
xtrabackup: page size for /data/backup/rec/2011-06-17_12-09-13/test/j3.ibd.delta is 16384 bytes
Applying /data/backup/rec/2011-06-17_12-09-13/test/j3.ibd.delta ...
xtrabackup: page size for /data/backup/rec/2011-06-17_12-09-13/test/j2.ibd.delta is 16384 bytes
Applying /data/backup/rec/2011-06-17_12-09-13/test/j2.ibd.delta ...
xtrabackup: page size for /data/backup/rec/2011-06-17_12-09-13/jss/j1.ibd.delta is 16384 bytes
Applying /data/backup/rec/2011-06-17_12-09-13/jss/j1.ibd.delta ...
xtrabackup: page size for /data/backup/rec/2011-06-17_12-09-13/jss/j2.ibd.delta is 16384 bytes
110617 14:42:19 InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
xtrabackup: error: cannot open /data/backup/full/2011-06-17_12-04-51/jss/j2.ibd
xtrabackup: Error: xtrabackup_apply_delta() failed.
xtrabackup: Temporary instance for recovery is set as followings.
xtrabackup: innodb_data_home_dir = ./
xtrabackup: innodb_data_file_path = ibdata1:10M:autoextend
xtrabackup: innodb_log_group_home_dir = /data/backup/rec/2011-06-17_12-09-13
xtrabackup: innodb_log_files_in_group = 1
xtrabackup: innodb_log_file_size = 2097152
110617 14:42:19 InnoDB: Using Linux native AIO
xtrabackup: Starting InnoDB instance for recovery.
xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
110617 14:42:19 InnoDB: The InnoDB memory heap is disabled
110617 14:42:19 InnoDB: Mutexes and rw_locks use GCC atomic builtins
110617 14:42:19 InnoDB: Compressed tables use zlib 1.2.3
110617 14:42:19 InnoDB: Using Linux native AIO
110617 14:42:19 InnoDB: Warning: innodb_file_io_threads is deprecated. Please use innodb_read_io_threads and innodb_write_io_threads instead
110617 14:42:19 InnoDB: Initializing buffer pool, size = 100.0M
110617 14:42:19 InnoDB: Completed initialization of buffer pool
110617 14:42:19 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
110617 14:42:19 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Last MySQL binlog file position 0 720, file name ./mysql-bin.000010
[notice (again)]
If you use binary log and don't use any hack of group commit,
the binary log position seems to be:
InnoDB: Last MySQL binlog file position 0 720, file name ./mysql-bin.000010
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
110617 14:42:19 InnoDB: Starting shutdown...
110617 14:42:20 InnoDB: Shutdown completed; log sequence number 111262528
110617 14:42:20 innobackupex: completed OK!杯具啊,j2对象是在全备之后创建的,全备份集中并不存在,因此应用增量时就报了错,(见上面加粗部分),此时如果原始数据文件已经损坏,那么j2的数据就无法恢复了,因为缺少了其数据文件。
再次prepare全备集,回滚那些未提交的事务,这一步中innobackupex也会自动创建innodb日志文件:
[root@rhel5u3 3306]# /usr/local/mysql55/bin/innobackupex --defaults-file=/data/mysqldata/3306-jss-bak/my.cnf --apply-log /data/backup/full/2011-06-17_12-04-51 --user=root --password='123456'
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona Inc 2009-2011. All Rights Reserved.
This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
...................
...................
xtrabackup: starting shutdown with innodb_fast_shutdown = 1
110617 14:43:12 InnoDB: Starting shutdown...
110617 14:43:13 InnoDB: Shutdown completed; log sequence number 111263852
110617 14:43:13 innobackupex: completed OK!执行恢复操作:
[root@rhel5u3 3306]# /usr/local/mysql55/bin/innobackupex --defaults-file=/data/mysqldata/3306-jss-bak/my.cnf --copy-back /data/backup/full/2011-06-17_12-04-51
InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
and Percona Inc 2009-2011. All Rights Reserved.
This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.
IMPORTANT: Please check that the copy-back run completes successfully.
At the end of a successful copy-back run innobackupex
prints "completed OK!".
innobackupex: Starting to copy MyISAM tables, indexes,
innobackupex: .MRG, .TRG, .TRN, .ARM, .ARZ, .CSM, .CSV, .opt, and .frm files
innobackupex: in '/data/backup/full/2011-06-17_12-04-51'
innobackupex: back to original data directory '/data/mysqldata/3306/data'
innobackupex: Copying file '/data/backup/full/2011-06-17_12-04-51/xtrabackup_binary'
innobackupex: Copying directory '/data/backup/full/2011-06-17_12-04-51/test'
innobackupex: Copying file '/data/backup/full/2011-06-17_12-04-51/xtrabackup_checkpoints'
innobackupex: Copying directory '/data/backup/full/2011-06-17_12-04-51/performance_schema'
innobackupex: Copying directory '/data/backup/full/2011-06-17_12-04-51/jss'
innobackupex: Copying directory '/data/backup/full/2011-06-17_12-04-51/mysql'
innobackupex: Copying file '/data/backup/full/2011-06-17_12-04-51/xtrabackup_binlog_info'
innobackupex: Copying file '/data/backup/full/2011-06-17_12-04-51/xtrabackup_binlog_pos_innodb'
innobackupex: Starting to copy InnoDB tables and indexes
innobackupex: in '/data/backup/full/2011-06-17_12-04-51'
innobackupex: back to original InnoDB data directory '/data/mysqldata/3306/innodb_ts'
innobackupex: Copying file '/data/backup/full/2011-06-17_12-04-51/ibdata1'
innobackupex: Starting to copy InnoDB log files
innobackupex: in '/data/backup/full/2011-06-17_12-04-51'
innobackupex: back to original InnoDB log directory '/data/mysqldata/3306/innodb_log'
innobackupex: Copying file '/data/backup/full/2011-06-17_12-04-51/ib_logfile0'
innobackupex: Copying file '/data/backup/full/2011-06-17_12-04-51/ib_logfile1'
innobackupex: Finished copying back files.
复制初始化参数文件,修改权限及属主:
[root@rhel5u3 3306]# cd ..
[root@rhel5u3 mysqldata]# cp /data/mysqldata/3306-jss-bak/my.cnf /data/mysqldata/3306/
[root@rhel5u3 mysqldata]# chown mysql:mysql 3306 -R
Ok,恢复完成,接下来启动MySQL服务:
登录进去查看:
mysql> use jss;
Database changed
mysql> show tables;
+---------------+
| Tables_in_jss |
+---------------+
| j1 |
+---------------+
1 row in set (0.01 sec)Shit,第二次创建的j2果然不存在,甚至连结构都没有,怎么回事儿呢,经过分析,原来是在prepare时,XtraBackup并没有将增量备份集中,属于新建对象的.frm文件复制到完整备份集目录,因此在执行copy-back时,这部分文件自然也就没有复制回数据文件路径。
不过,考虑到前面prepare增量集时出现的错误,即使结构文件存在,由于数据文件不存在,这个对象也仍然是打不开了。
此时查询information_schema中的相关对象,倒是能够找到jss.j2对象的定义,这是由于innodb对象元数据保存在系统表空间"innodb_data_home_dir"指定的文件中,这也是增量备份集中新增对象唯一留下的痕迹了。
悲催的innobackupex,这种增量设定怎么看都像是在故意难为DBA啊~~~