mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +01:00 
			
		
		
		
	Added support to BACKUP STAGE to maria-backup
This is a port of the code from ES 10.6
See MDEV-5336 for backup stages description.
The following old options are not supported by the new code:
--rsync             ; This is because rsync will not work on tables
                      that are in used.
--no-backup-locks   ; This is disabled as mariadb-backup will always
                      use backup locks for better performance.
		
	
			
		
			
				
	
	
		
			70 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
#--source include/innodb_page_size.inc
 | 
						|
 | 
						|
# Test --databases-exclude and --tables-exclude feature of xtrabackup 2.3.8
 | 
						|
select @@ignore_db_dirs;
 | 
						|
 | 
						|
let $MYSQLD_DATADIR= `select @@datadir`;
 | 
						|
 | 
						|
mkdir $MYSQLD_DATADIR/db3;
 | 
						|
mkdir $MYSQLD_DATADIR/db4;
 | 
						|
mkdir $MYSQLD_DATADIR/db5;
 | 
						|
 | 
						|
CREATE TABLE t1(i INT) ENGINE INNODB;
 | 
						|
INSERT INTO t1 VALUES(1);
 | 
						|
CREATE TABLE t2(i int) ENGINE INNODB;
 | 
						|
 | 
						|
CREATE DATABASE db2;
 | 
						|
USE db2;
 | 
						|
CREATE TABLE t1(i INT) ENGINE INNODB;
 | 
						|
 | 
						|
USE test;
 | 
						|
 | 
						|
BEGIN;
 | 
						|
INSERT INTO db2.t1 VALUES(20);
 | 
						|
INSERT INTO test.t1 VALUES(20);
 | 
						|
INSERT INTO test.t2 VALUES(20);
 | 
						|
 | 
						|
echo # xtrabackup backup;
 | 
						|
 | 
						|
let $targetdir=$MYSQLTEST_VARDIR/tmp/backup;
 | 
						|
--disable_result_log
 | 
						|
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf  --backup --parallel=10 "--tables-exclude=test.*2" "--databases-exclude=db2" --target-dir=$targetdir;
 | 
						|
--enable_result_log
 | 
						|
 | 
						|
COMMIT;
 | 
						|
 | 
						|
# check that only t1 table is in backup (t2 is excluded)
 | 
						|
list_files $targetdir/test *.new;
 | 
						|
list_files $targetdir/test *.ibd;
 | 
						|
# check that db2 database is not in the backup (excluded)
 | 
						|
--error 1
 | 
						|
list_files $targetdir/db2 *.ibd;
 | 
						|
# check that db3 database is not in the backup (excluded)
 | 
						|
--error 1
 | 
						|
list_files $targetdir/db3 *.ibd;
 | 
						|
# check that db4 database is not in the backup (excluded)
 | 
						|
--error 1
 | 
						|
list_files $targetdir/db4 *.ibd;
 | 
						|
# check that db5 database is in the backup
 | 
						|
list_files $targetdir/db5 *.ibd;
 | 
						|
 | 
						|
DROP TABLE t1;
 | 
						|
DROP TABLE t2;
 | 
						|
DROP DATABASE db2;
 | 
						|
rmdir $MYSQLD_DATADIR/db3;
 | 
						|
rmdir $MYSQLD_DATADIR/db4;
 | 
						|
rmdir $MYSQLD_DATADIR/db5;
 | 
						|
 | 
						|
--let $backup_log=$MYSQLTEST_VARDIR/tmp/backup.log
 | 
						|
--disable_result_log
 | 
						|
exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --export --prepare --target-dir="$targetdir" > $backup_log;
 | 
						|
--enable_result_log
 | 
						|
 | 
						|
--let SEARCH_FILE=$backup_log
 | 
						|
--let SEARCH_PATTERN=Operating system error number
 | 
						|
--source include/search_pattern_in_file.inc
 | 
						|
--let SEARCH_PATTERN=Could not find a valid tablespace file for
 | 
						|
--source include/search_pattern_in_file.inc
 | 
						|
--remove_file $backup_log
 | 
						|
 | 
						|
rmdir $targetdir;
 |