--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