polardbxengine/mysql-test/suite/innodb/t/table_encrypt_portable_32.test

71 lines
2.3 KiB
Plaintext

# InnoDB transparent tablespace data encryption
# This test case will test portability of encrypted table support feature.
# This test try to port an encrypted table which created by 64bits server to 32bits server.
# The data files of source table is in mysql-test/std_data/table_encrypted_64.zip.
# For update the table_encrypted_64.zip, you have to run the test case table_encrypt_portable_64 in
# record mode.
--source include/have_innodb_16k.inc
--source include/have_debug.inc
--source include/have_32bit.inc
--source include/not_windows.inc
#########################
# how to record test result for 64bit test case table_encrypt_portable_64 content mismatch
# Run the test with --record option.
#########################
let $restart_parameters = restart: --early-plugin-load="keyring_file=$KEYRING_PLUGIN" --loose-keyring_file_data=$MYSQL_TMP_DIR/mysecret_keyring $KEYRING_PLUGIN_OPT;
--replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR $KEYRING_PLUGIN_OPT --plugin-dir=KEYRING_PLUGIN_PATH $KEYRING_PLUGIN keyring_file.so
--replace_regex /\.dll/.so/
--source include/restart_mysqld_no_echo.inc
let $MYSQLD_DATADIR = `SELECT @@datadir`;
let $source_db = test;
let $dest_db = test;
if ($MTR_RECORD == 1) {
# Create a table with encryption
CREATE TABLE t1(c1 INT, c2 char(20)) ENCRYPTION="Y" ENGINE = InnoDB;
INSERT INTO t1 VALUES(0, "aaaaa");
INSERT INTO t1 VALUES(1, "bbbbb");
INSERT INTO t1 VALUES(2, "ccccc");
INSERT INTO t1 VALUES(3, "ddddd");
INSERT INTO t1 VALUES(4, "eeeee");
INSERT INTO t1 VALUES(5, "fffff");
INSERT INTO t1 VALUES(6, "ggggg");
INSERT INTO t1 VALUES(7, "hhhhh");
INSERT INTO t1 VALUES(8, "iiiii");
INSERT INTO t1 VALUES(9, "jjjjj");
INSERT INTO t1 select * from t1;
INSERT INTO t1 select * from t1;
eval FLUSH TABLES $source_db.t1 FOR EXPORT;
--exec zip -j $MYSQL_TMP_DIR/table_encrypted.zip $MYSQLD_DATADIR/$source_db/t1.* 2>&1 > /dev/null
--move_file $MYSQL_TMP_DIR/table_encrypted.zip $MYSQL_TEST_DIR/std_data/table_encrypted_32.zip
UNLOCK TABLES;
DROP TABLE t1;
}
if ($MTR_RECORD == 0) {
CREATE TABLE t1(c1 INT, c2 char(20)) ENCRYPTION="Y" ENGINE = InnoDB;
eval ALTER TABLE $dest_db.t1 DISCARD TABLESPACE;
--exec unzip -qo $MYSQL_TEST_DIR/std_data/table_encrypted_64.zip -d $MYSQLD_DATADIR/$dest_db
eval ALTER TABLE $dest_db.t1 IMPORT TABLESPACE;
SELECT * FROM t1;
# Cleanup
DROP TABLE t1;
--remove_file $MYSQL_TMP_DIR/mysecret_keyring
}