# This test case needs InnoDB. --source include/have_innodb.inc # Set path names. # --let $BACKUP_LOG = $MYSQLTEST_VARDIR/tmp/backup.log --let $REPLAY_LOG = $MYSQLTEST_VARDIR/tmp/replay.log --let $MYSQLD_DATADIR = `SELECT @@datadir` # Check for existence of ibbackup and set up environment for it. --source suite/meb/include/have_meb.inc # Create databases & tables CREATE DATABASE db2; CREATE DATABASE db3; CREATE TABLE db2.t1( id INT UNSIGNED, a CHAR(20) CHARACTER SET big5 COLLATE big5_chinese_ci )ENGINE=InnoDB; INSERT INTO db2.t1 VALUES (1, 'po'),(2, 'hh'); CREATE TABLE db3.t1(a CHAR(20) CHARACTER SET cp1251 COLLATE cp1251_general_ci)ENGINE=InnoDB; INSERT INTO db3.t1 VALUES('TESTING'),('CHARACTER SETS'),('COLLATION'); SELECT * FROM db2.t1; SELECT * FROM db3.t1; SELECT Table_schema, Table_name, column_name, character_set_name, collation_name FROM information_schema.columns WHERE Table_schema LIKE 'db%'; # # Backup. # --echo # --echo # Copy data dir. FLUSH TABLES; --exec perl suite/meb/include/rmtree.pl $BACKUP_DIR --exec perl suite/meb/include/cptree.pl $MYSQLD_DATADIR $BACKUP_DIR --echo # --echo # Remove ib* files from backup dir. --remove_files_wildcard $BACKUP_DIR ib* --echo # --echo # Run ibbackup for backup. --exec $IBBACKUP $SERVER_CNF $BACKUP_CNF > $BACKUP_LOG 2>&1 --echo ... # If not success, mysqltest would exit after exec. --echo # Success --echo # Disable the character set and then perform restore --copy_file $MYSQL_TEST_DIR/../sql/share/charsets/cp1251.xml $MYSQL_TEST_DIR/cp1251.xml --remove_file $MYSQL_TEST_DIR/../sql/share/charsets/cp1251.xml # # Stop server. # --echo # --echo # Stop server. --source suite/meb/include/stop_mysqld.inc --echo # # Prepare for Restore. # Apply InnoDB log file. # --echo # --echo # Run ibbackup for apply log. --exec $IBBACKUP --apply-log $BACKUP_CNF > $REPLAY_LOG 2>&1 --echo ... # If not success, mysqltest would exit after exec. --echo # Success --echo # # Restore. # Replace files by removing old datadir and copying back files from backup. # --echo # --echo # Clear datadir. --exec perl suite/meb/include/rmtree.pl $MYSQLD_DATADIR --echo # --echo # Copy back. --exec perl suite/meb/include/cptree.pl $BACKUP_DIR $MYSQLD_DATADIR --error 0, 1 --remove_file $MYSQLD_DATADIR/ibbackup_export_variables.txt --echo # # Restart server. # --echo # --echo # Restart server. --source suite/meb/include/restart_mysqld.inc --echo SHOW DATABASES; SHOW TABLES FROM db2; SHOW TABLES FROM db3; SELECT * FROM db2.t1; SELECT * FROM db3.t1; SELECT Table_schema, Table_name, column_name, character_set_name, collation_name FROM information_schema.columns WHERE Table_schema LIKE 'db%'; DROP DATABASE db2; DROP DATABASE db3; --copy_file $MYSQL_TEST_DIR/cp1251.xml $MYSQL_TEST_DIR/../sql/share/charsets/cp1251.xml --remove_file $MYSQL_TEST_DIR/cp1251.xml source suite/meb/include/cleanup_meb.inc;