--source include/not_embedded.inc # Check for existence of innobackup and set up environment for it. --source suite/meb/include/have_meb.inc # # Get miscellaneous path names. # LET $BACKUP_LOG = $MYSQLTEST_VARDIR/tmp/backup.log; LET $REPLAY_LOG = $MYSQLTEST_VARDIR/tmp/replay.log; LET $CPBACK_LOG = $MYSQLTEST_VARDIR/tmp/cpback.log; LET $MYSQLD_DATADIR = `SELECT @@datadir`; # Enable InnoDB storage engine using have_innodb.inc --source include/have_innodb.inc --query_vertical SHOW ENGINES; CREATE DATABASE dbb; USE dbb; CREATE TABLE dbb.td1(id INT)ENGINE=INNODB; INSERT INTO dbb.td1 VALUES (1),(2),(3),(4),(5),(6),(7),(8), (9),(10),(11),(12),(13),(14),(15); CREATE TABLE dbb.td2(a CHAR(10))ENGINE=MyISAM; INSERT INTO dbb.td2 VALUES('a'),('b'),('c'),('d'); CREATE TABLE dbb.td3(id INT, a CHAR(5))ENGINE=MEMORY; INSERT INTO dbb.td3 VALUES(1,'a'),(2,'b'),(3,'c'),(4,'e'); CREATE TABLE dbb.te1(id INT)ENGINE=ARCHIVE; INSERT INTO dbb.te1 VALUES(10),(20),(30),(40),(50),(60); CREATE TABLE dbb.te2(a CHAR(5) NOT NULL)ENGINE=CSV; INSERT INTO dbb.te2 VALUES('d'),('g'),('h'),('y'); CREATE TABLE dbb.tf1(a CHAR(10))ENGINE=MYISAM; INSERT INTO dbb.tf1 VALUES('d'),('g'),('h'),('y'); CREATE TABLE dbb.tdtf(a CHAR(10)) UNION=(dbb.td2, dbb.tf1)ENGINE=MERGE; SELECT COUNT(*) FROM dbb.td1; SELECT COUNT(*) FROM dbb.td2; SELECT COUNT(*) FROM dbb.td3; SELECT COUNT(*) FROM dbb.te1; SELECT COUNT(*) FROM dbb.te2; SELECT COUNT(*) FROM dbb.tf1; SELECT COUNT(*) FROM dbb.tdtf; SELECT * FROM dbb.tdtf; SHOW CREATE TABLE dbb.tdtf; FLUSH TABLES; --exec perl suite/meb/include/cptree.pl $MYSQLD_DATADIR $BACKUP_DIR --remove_files_wildcard $BACKUP_DIR ib* --echo # --echo # Running ibbackup ..... --echo # .... --exec $IBBACKUP $SERVER_CNF $BACKUP_CNF > $BACKUP_LOG 2>&1 # If not success, mysqltest would exit after the --exec line. --echo # Success! --exec $IBBACKUP --restore $BACKUP_CNF > $REPLAY_LOG 2>&1 # Drop the databases DROP DATABASE dbb; # Shutdown the server --source suite/meb/include/stop_mysqld.inc --echo # Copy back .frm files from backupdir to datadir # First remove the old InnoDB files from data dir. --exec perl suite/meb/include/rmtree.pl $MYSQLD_DATADIR # Now copy the restored files in their place. --exec perl suite/meb/include/cptree.pl $BACKUP_DIR $MYSQLD_DATADIR # Restart the server --source suite/meb/include/restart_mysqld.inc # Check for the databases and tables after restore SHOW DATABASES; SHOW TABLES FROM dbb; SELECT COUNT(*) FROM dbb.td1; SELECT COUNT(*) FROM dbb.td2; SELECT COUNT(*) FROM dbb.td3; SELECT COUNT(*) FROM dbb.te1; SELECT COUNT(*) FROM dbb.te2; SELECT COUNT(*) FROM dbb.tf1; SELECT COUNT(*) FROM dbb.tdtf; SELECT * FROM dbb.tdtf; SHOW CREATE TABLE dbb.td1; SHOW CREATE TABLE dbb.td2; SHOW CREATE TABLE dbb.td3; SHOW CREATE TABLE dbb.te1; SHOW CREATE TABLE dbb.te2; SHOW CREATE TABLE dbb.tf1; SHOW CREATE TABLE dbb.tdtf; --exec perl suite/meb/include/rmtree.pl $BACKUP_DIR --remove_file $BACKUP_LOG --remove_file $REPLAY_LOG