mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	 1c55b845e0
			
		
	
	
	1c55b845e0
	
	
	
		
			
			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;
 |