polardbxengine/mysql-test/suite/innodb_undo/t/undo_tablespace_encrypt.test

59 lines
3.2 KiB
Plaintext

################################################################################
# Test script to test UNDO tablespace encryption setting to be displayed in
# INFORMATION_SCHEMA.INNODB_TABLESPACES.
################################################################################
--echo #
--echo # Bug #29492911 : ENABLING UNDO-TABLESPACE ENCRYPTION DOESN'T MARK TABLESPACE ENCRYPTION FLAG
--echo #
let $MYSQL_DATA_DIR = `select @@datadir`;
SHOW VARIABLES LIKE "%innodb_undo_log_encrypt%";
--echo ###############################################################################
--echo # With keyring plugin and innodb_undo_log_encrypt=ON
--echo ###############################################################################
--let $restart_parameters="restart: --log_error_verbosity=3 --early-plugin-load="keyring_file=$KEYRING_PLUGIN" $KEYRING_PLUGIN_OPT --keyring_file_data=$MYSQL_TMP_DIR/my_keyfile --innodb_undo_log_encrypt=ON --log-error=$MYSQLTEST_VARDIR/log/restart_1.err"
--source include/restart_mysqld_no_echo.inc
SHOW VARIABLES LIKE "%innodb_undo_log_encrypt%";
--echo # Create a new UNDO tablespace. Should be created as ENCRYPTED.
CREATE UNDO TABLESPACE undo_3 ADD DATAFILE 'undo_3.ibu';
SELECT NAME, SPACE_TYPE, ENCRYPTION, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE_TYPE='Undo';
SET GLOBAL innodb_undo_log_encrypt=OFF;
SHOW VARIABLES LIKE "%innodb_undo_log_encrypt%";
SELECT NAME, SPACE_TYPE, ENCRYPTION, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE_TYPE='Undo';
--echo # Create a new UNDO tablespace. Should be created as UNENCRYPTED.
CREATE UNDO TABLESPACE undo_4 ADD DATAFILE 'undo_4.ibu';
SELECT NAME, SPACE_TYPE, ENCRYPTION, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE_TYPE='Undo';
SET GLOBAL innodb_undo_log_encrypt=ON;
SHOW VARIABLES LIKE "%innodb_undo_log_encrypt%";
SELECT NAME, SPACE_TYPE, ENCRYPTION, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE_TYPE='Undo';
--echo ###############################################################################
--echo # With keyring plugin and innodb_undo_log_encrypt=OFF
--echo ###############################################################################
--let $restart_parameters="restart: --log_error_verbosity=3 --early-plugin-load="keyring_file=$KEYRING_PLUGIN" $KEYRING_PLUGIN_OPT --keyring_file_data=$MYSQL_TMP_DIR/my_keyfile --innodb_undo_log_encrypt=OFF --log-error=$MYSQLTEST_VARDIR/log/restart_1.err"
--source include/restart_mysqld_no_echo.inc
# Mark UNDO tablespace inactive so that it could be dropped.
ALTER UNDO TABLESPACE undo_3 set INACTIVE;
SELECT NAME, SPACE_TYPE, ENCRYPTION, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE_TYPE='Undo';
let $inactive_undo_space = undo_3;
source include/wait_until_undo_space_is_empty.inc;
DROP UNDO TABLESPACE undo_3;
# Mark UNDO tablespace inactive so that it could be dropped.
ALTER UNDO TABLESPACE undo_4 set INACTIVE;
SELECT NAME, SPACE_TYPE, ENCRYPTION, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE_TYPE='Undo';
let $inactive_undo_space = undo_4;
source include/wait_until_undo_space_is_empty.inc;
DROP UNDO TABLESPACE undo_4;
SELECT NAME, SPACE_TYPE, ENCRYPTION, STATE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE SPACE_TYPE='Undo';