1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
--disable_query_log
call mtr.add_suppression("\\[Error\\] .*MY-\\d+.* Encryption can't find master key, please check the keyring is loaded.");
call mtr.add_suppression("\\[ERROR\\] .*MY-\\d+.* Can't set redo log files to be encrypted.");
--enable_query_log
SET @start_global_value = @@global.innodb_redo_log_encrypt;
SELECT @start_global_value;
#
# exists as global only
#
select @@global.innodb_redo_log_encrypt in (0, 1);
select @@global.innodb_redo_log_encrypt;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@session.innodb_redo_log_encrypt;
show global variables like 'innodb_redo_log_encrypt';
show session variables like 'innodb_redo_log_encrypt';
--disable_warnings
select * from performance_schema.global_variables where variable_name='innodb_redo_log_encrypt';
select * from performance_schema.session_variables where variable_name='innodb_redo_log_encrypt';
--enable_warnings
#
# show that it's writable
#
set global innodb_redo_log_encrypt=1;
--let $wait_condition=SELECT @@global.innodb_redo_log_encrypt = 0
--source include/wait_condition.inc
--disable_warnings
select * from performance_schema.global_variables where variable_name='innodb_redo_log_encrypt';
select * from performance_schema.session_variables where variable_name='innodb_redo_log_encrypt';
--enable_warnings
set @@global.innodb_redo_log_encrypt=0;
select @@global.innodb_redo_log_encrypt;
--disable_warnings
select * from performance_schema.global_variables where variable_name='innodb_redo_log_encrypt';
select * from performance_schema.session_variables where variable_name='innodb_redo_log_encrypt';
--enable_warnings
--error ER_GLOBAL_VARIABLE
set session innodb_redo_log_encrypt='some';
--error ER_GLOBAL_VARIABLE
set @@session.innodb_redo_log_encrypt='some';
#
# incorrect types
#
--error ER_WRONG_TYPE_FOR_VAR
set global innodb_redo_log_encrypt=1.1;
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_redo_log_encrypt='foo';
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_redo_log_encrypt=-2;
--error ER_WRONG_TYPE_FOR_VAR
set global innodb_redo_log_encrypt=1e1;
--error ER_WRONG_VALUE_FOR_VAR
set global innodb_redo_log_encrypt=2;
#
# Cleanup
#
SET @@global.innodb_redo_log_encrypt = @start_global_value;
SELECT @@global.innodb_redo_log_encrypt;
|