################################################################################ # 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';