70 lines
3.1 KiB
Plaintext
70 lines
3.1 KiB
Plaintext
--echo ########################################################################
|
|
--echo # Bug#29491749: DATA DICTIONARY UPGRADE FAILING WITH ENCRYPTED MYSQL
|
|
--echo # TABLESPACE
|
|
--echo #
|
|
--echo # Verify that we can upgrade from a server with an encrypted mysql
|
|
--echo # tablespace.
|
|
--echo ########################################################################
|
|
|
|
--source include/have_case_sensitive_file_system.inc
|
|
--source include/not_valgrind.inc
|
|
--source include/big_test.inc
|
|
--source include/have_debug.inc
|
|
|
|
--echo # Stop the mysqld server which was created by MTR default
|
|
--let $shutdown_server_timeout= 300
|
|
--source include/shutdown_mysqld.inc
|
|
|
|
--echo # Copy and unzip the datadir
|
|
--copy_file $MYSQLTEST_VARDIR/std_data/upgrade/data_encrypted_80016.zip $MYSQL_TMP_DIR/data_encrypted_80016.zip
|
|
--file_exists $MYSQL_TMP_DIR/data_encrypted_80016.zip
|
|
--exec unzip -qo $MYSQL_TMP_DIR/data_encrypted_80016.zip -d $MYSQL_TMP_DIR
|
|
|
|
--echo # Set different datadir path
|
|
--let $MYSQLD_DATADIR= $MYSQL_TMP_DIR/data_encrypted
|
|
--let $MYSQLD_LOG= $MYSQLTEST_VARDIR/log/upgrade_encrypted.log
|
|
|
|
--echo # Start the server
|
|
--let $restart_parameters= restart: --early-plugin-load=keyring_file=$KEYRING_PLUGIN --datadir=$MYSQLD_DATADIR --log-error=$MYSQLD_LOG --loose-keyring_file_data=$MYSQLD_DATADIR/mysecret_keyring $KEYRING_PLUGIN_OPT
|
|
--let $wait_counter= 10000
|
|
--let $shutdown_server_timeout= 300
|
|
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR $MYSQLD_LOG MYSQLD_LOG $KEYRING_PLUGIN_OPT KEYRING_PLUGIN_OPT
|
|
--source include/start_mysqld.inc
|
|
|
|
SET debug='+d,skip_dd_table_access_check';
|
|
|
|
--echo # The mysql tablespace should be encrypted
|
|
SELECT NAME, ENCRYPTION FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE NAME='mysql';
|
|
SELECT NAME,OPTIONS FROM mysql.tablespaces WHERE NAME='mysql';
|
|
|
|
--echo # Verify that we can un-encrypt the mysql tablespace
|
|
ALTER TABLESPACE mysql ENCRYPTION='N';
|
|
SELECT NAME, ENCRYPTION FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE NAME='mysql';
|
|
SELECT NAME,OPTIONS FROM mysql.tablespaces WHERE NAME='mysql';
|
|
|
|
--echo # Restart the server
|
|
--let $restart_parameters= restart: --early-plugin-load=keyring_file=$KEYRING_PLUGIN --datadir=$MYSQLD_DATADIR --log-error=$MYSQLD_LOG --loose-keyring_file_data=$MYSQLD_DATADIR/mysecret_keyring $KEYRING_PLUGIN_OPT
|
|
--let $wait_counter= 10000
|
|
--let $shutdown_server_timeout= 300
|
|
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR $MYSQLD_LOG MYSQLD_LOG $KEYRING_PLUGIN_OPT KEYRING_PLUGIN_OPT
|
|
--source include/restart_mysqld.inc
|
|
|
|
SET debug='+d,skip_dd_table_access_check';
|
|
|
|
--echo # The mysql tablespace should now be be un-encrypted
|
|
SELECT NAME, ENCRYPTION FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE NAME='mysql';
|
|
SELECT NAME,OPTIONS FROM mysql.tablespaces WHERE NAME='mysql';
|
|
|
|
--echo # Shutdown the server, remove the files, and restart with default options
|
|
--let $wait_counter= 10000
|
|
--let $shutdown_server_timeout= 300
|
|
--source include/shutdown_mysqld.inc
|
|
|
|
--remove_file $MYSQL_TMP_DIR/data_encrypted_80016.zip
|
|
--force-rmdir $MYSQL_TMP_DIR/data_encrypted
|
|
|
|
--echo # Restart the server with default options
|
|
--let $restart_parameters= restart;
|
|
--let $wait_counter= 10000
|
|
--source include/start_mysqld.inc
|