mirror of
https://github.com/MariaDB/server.git
synced 2025-02-05 13:22:17 +01:00
46 lines
2 KiB
Text
46 lines
2 KiB
Text
set global innodb_file_per_table=OFF;
|
|
call mtr.add_suppression("(mysqld|mariadbd).*: file-key-management-filename is not set");
|
|
call mtr.add_suppression("Plugin 'file_key_management' init function returned error.");
|
|
call mtr.add_suppression("Plugin 'file_key_management' registration as a ENCRYPTION failed.");
|
|
flush tables;
|
|
create table t1(a int not null primary key, b char(200)) engine=innodb;
|
|
|
|
# Restart server with encryption
|
|
# restart: --plugin-load-add=file_key_management --loose-file-key-management --loose-file-key-management-filename=MYSQL_TEST_DIR/std_data/keys.txt --file-key-management-encryption-algorithm=aes_cbc --innodb-encrypt-tables=ON --innodb-encryption-threads=4 --innodb-tablespaces-encryption --innodb-encryption-rotate-key-age=15
|
|
# Wait until encryption threads have encrypted all tablespaces
|
|
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
|
|
NAME
|
|
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
|
NAME
|
|
innodb_system
|
|
mysql/innodb_index_stats
|
|
mysql/innodb_table_stats
|
|
mysql/transaction_registry
|
|
# Success!
|
|
SELECT * from t1;
|
|
a b
|
|
# Now turn off encryption and wait for threads to decrypt all tablespaces
|
|
SET GLOBAL innodb_encrypt_tables = off;
|
|
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
|
|
NAME
|
|
innodb_system
|
|
mysql/innodb_index_stats
|
|
mysql/innodb_table_stats
|
|
mysql/transaction_registry
|
|
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
|
NAME
|
|
# Success!
|
|
|
|
# Restart server with no encryption setup, there should be no crashes
|
|
# restart: --skip-file-key-management --innodb-encrypt-tables=OFF --innodb-encryption-threads=0 --innodb-tablespaces-encryption
|
|
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
|
|
NAME
|
|
innodb_system
|
|
mysql/innodb_index_stats
|
|
mysql/innodb_table_stats
|
|
mysql/transaction_registry
|
|
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
|
|
NAME
|
|
SELECT * from t1;
|
|
a b
|
|
DROP TABLE t1;
|