1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-12114: install_db shows corruption for rest encryption and innodb_checksum_algorithm=strict_none

Problem was that checksum check resulted false positives that page is
both not encrypted and encryted when checksum_algorithm was
strict_none.

Encrypton checksum will use only crc32 regardless of setting.

buf_zip_decompress: If compression fails report a error message
containing the space name if available (not available during import).
And note if space could be encrypted.

buf_page_get_gen: Do not assert if decompression fails,
instead unfix the page and return NULL to upper layer.

fil_crypt_calculate_checksum: Use only crc32 method.

fil_space_verify_crypt_checksum: Here we need to check
crc32, innodb and none method for old datafiles.

fil_space_release_for_io: Allow null space.

encryption.innodb-compressed-blob is now run with crc32 and none
combinations.

Note that with none and strict_none method there is not really
a way to detect page corruptions and page corruptions after
decrypting the page with incorrect key.

New test innodb-checksum-algorithm to test different checksum
algorithms with encrypted, row compressed and page compressed
tables.
This commit is contained in:
Jan Lindström
2017-05-30 12:02:42 +03:00
parent 1af8bf39ca
commit 6b6987154a
11 changed files with 1577 additions and 117 deletions

View File

@ -0,0 +1,4 @@
--innodb_checksum_algorithm=innodb
--innodb-tablespaces-encryption
--innodb-encrypt-tables=on
--innodb-encryption-threads=4

View File

@ -0,0 +1,652 @@
-- source include/have_innodb.inc
-- source include/have_file_key_management_plugin.inc
# embedded does not support restart
-- source include/not_embedded.inc
#
# Tests:
#
# innodb
# 1) innodb => crc32
# 2) crc32 => innodb
# 3) innodb => none
# 4) none => innodb
# 5) innodb => strict_innodb
# 6) strict_innodb => innodb
# 7) innodb => strict_none
# 8) strict_none => innodb
# 9) innodb => strict_crc32
# 10) strict_crc32 => innodb
#
# crc32
# 11) crc32 => strict_crc32
# 12) strict_crc32 => crc32
# 13) crc32 => strict_none
# 14) strict_none => crc32
# 15) crc32 => strict_innodb
# 16) strict_innodb => crc32
# 17) crc32 => none
# 18) none => crc32
# (note that innodb is handled on 1 and 2)
#
# strict_crc32
# 19) strict_crc32 => strict_none
# 20) strict_none => strict_crc32
# 21) strict_crc32 => strict_innodb
# 22) strict_innodb => strict_crc32
# 23) strict_crc32 => none
# 24) none => strict_crc32
# (note that innodb is handled on 9 and 10)
# (note that crc32 is handled on 11 and 12)
#
# strict_none
# 25) strict_none => none
# 26) none => strict_none
# 27) strict_none = strict_innodb
# 28) strict_innodb => strict_none
# (note that innodb is handled on 7 and 8)
# (note that crc32 is handled on 13 and 14)
# (note that strict_crc32 is handled 19 and 20)
#
# none
# 29) none => strict_innodb
# 30) strict_innodb => none
# (note that innodb is handled on 3 and 4)
# (note that crc32 is handled on 17 and 18)
# (note that strict_crc32 is handled on 23 and 24)
# (note that strict_none is handled on 25 and 26)
#
# strict_innodb
# (note that innodb is handled on 5 and 6)
# (note that crc32 is handled on 15 and 16)
# (note that strict_crc32 is handled on 21 and 22)
# (note that strict_none is handled on 27 and 28)
# (note that none is handled on 29 and 30)
#
--disable_warnings
SET GLOBAL innodb_file_format = `Barracuda`;
SET GLOBAL innodb_file_per_table = ON;
call mtr.add_suppression("InnoDB: innodb_checksum_algorithm is set to \"strict_crc32\" but the page \\[page id: space=[0-9]+, page number=[0-9]+\\] contains a valid checksum \"innodb\". Accepting the page as valid. Change innodb_checksum_algorithm to \"crc32\" to silently accept such pages or rewrite all pages so that they contain \"crc32\" checksum.");
call mtr.add_suppression("InnoDB: innodb_checksum_algorithm is set to \"strict_none\" but the page \\[page id: space=[0-9]+, page number=[0-9]+\\] contains a valid checksum \"innodb\". Accepting the page as valid. Change innodb_checksum_algorithm to \"none\" to silently accept such pages or rewrite all pages so that they contain \"none\" checksum.");
call mtr.add_suppression("InnoDB: innodb_checksum_algorithm is set to \"strict_crc32\" but the page \\[page id: space=[0-9]+, page number=[0-9]+\\] contains a valid checksum \"none\". Accepting the page as valid. Change innodb_checksum_algorithm to \"crc32\" to silently accept such pages or rewrite all pages so that they contain \"crc32\" checksum.");
call mtr.add_suppression("InnoDB: innodb_checksum_algorithm is set to \"strict_innodb\" but the page \\[page id: space=[0-9]+, page number=[0-9]+\\] contains a valid checksum \"none\". Accepting the page as valid. Change innodb_checksum_algorithm to \"innodb\" to silently accept such pages or rewrite all pages so that they contain \"innodb\" checksum.");
call mtr.add_suppression("InnoDB: innodb_checksum_algorithm is set to \"strict_innodb\" but the page \\[page id: space=[0-9]+, page number=[0-9]+\\] contains a valid checksum \"crc32\". Accepting the page as valid. Change innodb_checksum_algorithm to \"innodb\" to silently accept such pages or rewrite all pages so that they contain \"innodb\" checksum.");
call mtr.add_suppression("InnoDB: innodb_checksum_algorithm is set to \"strict_none\" but the page \\[page id: space=[0-9]+, page number=[0-9]+\\] contains a valid checksum \"crc32\". Accepting the page as valid. Change innodb_checksum_algorithm to \"none\" to silently accept such pages or rewrite all pages so that they contain \"none\" checksum.");
--enable_warnings
set GLOBAL innodb_default_encryption_key_id=4;
create table t1(a int not null auto_increment primary key, b blob, index(b(10))) engine=innodb row_format=compressed encrypted=yes;
create table t2(a int not null auto_increment primary key, b blob, index(b(10))) engine=innodb encrypted=yes;
create table t3(a int not null auto_increment primary key, b blob, index(b(10))) engine=innodb row_format=compressed encrypted=no;
create table t4(a int not null auto_increment primary key, b blob, index(b(10))) engine=innodb encrypted=no;
create table t5(a int not null auto_increment primary key, b blob, index(b(10))) engine=innodb encrypted=yes page_compressed=yes;
begin;
insert into t1(b) values (repeat('secret',20));
insert into t1(b) select b from t1;
insert into t1(b) select b from t1;
insert into t1(b) select b from t1;
insert into t1(b) select b from t1;
insert into t1(b) select b from t1;
insert into t2(b) select b from t1;
insert into t3(b) select b from t1;
insert into t4(b) select b from t1;
insert into t5(b) select b from t1;
commit;
--echo # 1 Restart mysqld --innodb-checksum-algorithm=crc32
-- let $restart_parameters=--innodb-checksum-algorithm=crc32
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1;
insert into t2(b) select b from t1;
insert into t3(b) select b from t1;
insert into t4(b) select b from t1;
insert into t5(b) select b from t1;
--echo # 2 Restart mysqld --innodb-checksum-algorithm=innodb
-- let $restart_parameters=--innodb-checksum-algorithm=innodb
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 3 Restart mysqld --innodb-checksum-algorithm=none
-- let $restart_parameters=--innodb-checksum-algorithm=none
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 4 Restart mysqld --innodb-checksum-algorithm=innodb
-- let $restart_parameters=--innodb-checksum-algorithm=innodb
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 5 Restart mysqld --innodb-checksum-algorithm=strict_innodb
-- let $restart_parameters=--innodb-checksum-algorithm=strict_innodb
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 6 Restart mysqld --innodb-checksum-algorithm=innodb
-- let $restart_parameters=--innodb-checksum-algorithm=innodb
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 7 Restart mysqld --innodb-checksum-algorithm=strict_none
-- let $restart_parameters=--innodb-checksum-algorithm=strict_none
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 8 Restart mysqld --innodb-checksum-algorithm=innodb
-- let $restart_parameters=--innodb-checksum-algorithm=innodb
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 9 Restart mysqld --innodb-checksum-algorithm=strict_crc32
-- let $restart_parameters=--innodb-checksum-algorithm=strict_crc32
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 10 Restart mysqld --innodb-checksum-algorithm=innodb
-- let $restart_parameters=--innodb-checksum-algorithm=innodb
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # Restart mysqld --innodb-checksum-algorithm=crc32
-- let $restart_parameters=--innodb-checksum-algorithm=crc32
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 11 Restart mysqld --innodb-checksum-algorithm=strict_crc32
-- let $restart_parameters=--innodb-checksum-algorithm=strict_crc32
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 12 Restart mysqld --innodb-checksum-algorithm=crc32
-- let $restart_parameters=--innodb-checksum-algorithm=crc32
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 13 Restart mysqld --innodb-checksum-algorithm=strict_none
-- let $restart_parameters=--innodb-checksum-algorithm=strict_none
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 14 Restart mysqld --innodb-checksum-algorithm=crc32
-- let $restart_parameters=--innodb-checksum-algorithm=crc32
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 15 Restart mysqld --innodb-checksum-algorithm=strict_innodb
-- let $restart_parameters=--innodb-checksum-algorithm=strict_innodb
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 16 Restart mysqld --innodb-checksum-algorithm=crc32
-- let $restart_parameters=--innodb-checksum-algorithm=crc32
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 17 Restart mysqld --innodb-checksum-algorithm=none
-- let $restart_parameters=--innodb-checksum-algorithm=none
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 18 Restart mysqld --innodb-checksum-algorithm=crc32
-- let $restart_parameters=--innodb-checksum-algorithm=crc32
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # Restart mysqld --innodb-checksum-algorithm=strict_crc32
-- let $restart_parameters=--innodb-checksum-algorithm=strict_crc32
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 19 Restart mysqld --innodb-checksum-algorithm=strict_none
-- let $restart_parameters=--innodb-checksum-algorithm=strict_none
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 20 Restart mysqld --innodb-checksum-algorithm=strict_crc32
-- let $restart_parameters=--innodb-checksum-algorithm=strict_crc32
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 21 Restart mysqld --innodb-checksum-algorithm=strict_innodb
-- let $restart_parameters=--innodb-checksum-algorithm=strict_innodb
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 22 Restart mysqld --innodb-checksum-algorithm=strict_crc32
-- let $restart_parameters=--innodb-checksum-algorithm=strict_crc32
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 23 Restart mysqld --innodb-checksum-algorithm=none
-- let $restart_parameters=--innodb-checksum-algorithm=none
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 24 Restart mysqld --innodb-checksum-algorithm=strict_crc32
-- let $restart_parameters=--innodb-checksum-algorithm=strict_crc32
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # Restart mysqld --innodb-checksum-algorithm=strict_none
-- let $restart_parameters=--innodb-checksum-algorithm=strict_none
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 25 Restart mysqld --innodb-checksum-algorithm=none
-- let $restart_parameters=--innodb-checksum-algorithm=none
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 26 Restart mysqld --innodb-checksum-algorithm=strict_none
-- let $restart_parameters=--innodb-checksum-algorithm=strict_none
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 27 Restart mysqld --innodb-checksum-algorithm=strict_innodb
-- let $restart_parameters=--innodb-checksum-algorithm=strict_innodb
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 28 Restart mysqld --innodb-checksum-algorithm=strict_none
-- let $restart_parameters=--innodb-checksum-algorithm=strict_none
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # Restart mysqld --innodb-checksum-algorithm=none
-- let $restart_parameters=--innodb-checksum-algorithm=none
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 29 Restart mysqld --innodb-checksum-algorithm=strict_innodb
-- let $restart_parameters=--innodb-checksum-algorithm=strict_innodb
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
--echo # 30 Restart mysqld --innodb-checksum-algorithm=none
-- let $restart_parameters=--innodb-checksum-algorithm=none
-- source include/restart_mysqld.inc
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
insert into t1(b) select b from t1 limit 100;
insert into t2(b) select b from t1 limit 100;
insert into t3(b) select b from t1 limit 100;
insert into t4(b) select b from t1 limit 100;
insert into t5(b) select b from t1 limit 100;
drop table t1,t2,t3,t4,t5;

View File

@ -0,0 +1,12 @@
[crc32]
loose-innodb-tablespaces-encryption
loose-innodb-encrypt-tables=on
loose-innodb-encryption-threads=4
max_allowed_packet=64K
loose-innodb-checksum-algorithm=crc32
[none]
loose-innodb-tablespaces-encryption
loose-innodb-encrypt-tables=on
loose-innodb-encryption-threads=4
max_allowed_packet=64K
loose-innodb-checksum-algorithm=none

View File

@ -1,4 +0,0 @@
--innodb-tablespaces-encryption
--innodb-encrypt-tables=on
--innodb-encryption-threads=2
--max_allowed_packet=64K

View File

@ -5,10 +5,8 @@
-- source include/not_embedded.inc
call mtr.add_suppression("InnoDB: However key management plugin or used key_version .*");
call mtr.add_suppression("InnoDB: The page \[page id: space=[0-9]+, page number=[0-9]+\] in file test/t1 cannot be decrypted.");
call mtr.add_suppression("InnoDB: The page \[page id: space=[0-9]+, page number=[0-9]+\] in file test/t2 cannot be decrypted.");
call mtr.add_suppression("InnoDB: The page \[page id: space=[0-9]+, page number=[0-9]+\] in file test/t3 cannot be decrypted.");
call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[0-9]+\\] in file test/t[1-3] cannot be decrypted.");
call mtr.add_suppression("Unable to decompress space ..test.t[1-3].ibd \\[[1-9][0-9]*:[0-9]+\\]");
--echo # Restart mysqld --file-key-management-filename=keys2.txt
-- let $restart_parameters=--file-key-management-filename=$MYSQL_TEST_DIR/std_data/keys2.txt