######################################################################## # Bug#29491749: DATA DICTIONARY UPGRADE FAILING WITH ENCRYPTED MYSQL # TABLESPACE # # Verify that we can upgrade from a server with an encrypted mysql # tablespace. ######################################################################## # Stop the mysqld server which was created by MTR default # Copy and unzip the datadir # Set different datadir path # Start the server # restart: --early-plugin-load=keyring_file=keyring_file.so --datadir=MYSQLD_DATADIR --log-error=MYSQLD_LOG --loose-keyring_file_data=MYSQLD_DATADIR/mysecret_keyring KEYRING_PLUGIN_OPT SET debug='+d,skip_dd_table_access_check'; # The mysql tablespace should be encrypted SELECT NAME, ENCRYPTION FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE NAME='mysql'; NAME ENCRYPTION mysql Y SELECT NAME,OPTIONS FROM mysql.tablespaces WHERE NAME='mysql'; NAME OPTIONS mysql encryption=Y; # 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'; NAME ENCRYPTION mysql N SELECT NAME,OPTIONS FROM mysql.tablespaces WHERE NAME='mysql'; NAME OPTIONS mysql encryption=N; # Restart the server # restart: --early-plugin-load=keyring_file=keyring_file.so --datadir=MYSQLD_DATADIR --log-error=MYSQLD_LOG --loose-keyring_file_data=MYSQLD_DATADIR/mysecret_keyring KEYRING_PLUGIN_OPT SET debug='+d,skip_dd_table_access_check'; # The mysql tablespace should now be be un-encrypted SELECT NAME, ENCRYPTION FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE NAME='mysql'; NAME ENCRYPTION mysql N SELECT NAME,OPTIONS FROM mysql.tablespaces WHERE NAME='mysql'; NAME OPTIONS mysql encryption=N; # Shutdown the server, remove the files, and restart with default options # Restart the server with default options # restart;