call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); call mtr.add_suppression("InnoDB: Table `test`\\.`t[12]` has an unreadable root page"); call mtr.add_suppression("Table .*t[12].* is corrupted"); call mtr.add_suppression("InnoDB: The page \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\] in file '.*test.t[12]\\.ibd' cannot be decrypted; key_version=1"); call mtr.add_suppression("failed to read \\[page id: space=[1-9][0-9]*, page number=[1-9][0-9]*\\]"); call mtr.add_suppression("InnoDB: Encrypted page \\[page id: space=[1-9][0-9]*, page number=3\\] in file .*test.t1.ibd looks corrupted; key_version=1"); call mtr.add_suppression("File '.*mysql-test.std_data.keysbad3\\.txt' not found"); call mtr.add_suppression("File '.*mariadb-test.std_data.keysbad3\\.txt' not found"); call mtr.add_suppression("\\[ERROR\\] InnoDB: Cannot decrypt \\[page id: space="); # Start server with keys2.txt # restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt CREATE TABLE t1 (c VARCHAR(8)) ENGINE=InnoDB ENCRYPTED=YES ENCRYPTION_KEY_ID=2; INSERT INTO t1 VALUES ('foobar'); ALTER TABLE t1 ADD COLUMN c2 INT; INSERT INTO t1 VALUES ('foobar',2); SELECT * FROM t1; c c2 foobar NULL foobar 2 TRUNCATE TABLE t1; SELECT * FROM t1; c c2 INSERT INTO t1 VALUES ('foobar',1); INSERT INTO t1 VALUES ('foobar',2); FLUSH TABLE WITH READ LOCK; SELECT * FROM t1; c c2 foobar 1 foobar 2 # Restart server with keysbad3.txt # restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keysbad3.txt SELECT * FROM t1; ERROR 42S02: Table 'test.t1' doesn't exist in engine # restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keysbad3.txt DROP TABLE t1; # Start server with keys3.txt # restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys3.txt SET GLOBAL innodb_default_encryption_key_id=5; CREATE TABLE t2 (c VARCHAR(8), id int not null primary key, b int, key(b)) ENGINE=InnoDB ENCRYPTED=YES; INSERT INTO t2 VALUES ('foobar',1,2); # Restart server with keys2.txt # restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt SELECT * FROM t2; ERROR 42S02: Table 'test.t2' doesn't exist in engine SELECT * FROM t2 where id = 1; ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate. SELECT * FROM t2 where b = 1; ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate. INSERT INTO t2 VALUES ('tmp',3,3); ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate. DELETE FROM t2 where b = 3; ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate. DELETE FROM t2 where id = 3; ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate. UPDATE t2 set b = b +1; ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate. OPTIMIZE TABLE t2; Table Op Msg_type Msg_text test.t2 optimize Error Table test/t2 is corrupted. Please drop the table and recreate. test.t2 optimize error Corrupt ALTER TABLE t2 ADD COLUMN d INT; ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate. ANALYZE TABLE t2; Table Op Msg_type Msg_text test.t2 analyze Error Table test/t2 is corrupted. Please drop the table and recreate. test.t2 analyze error Corrupt TRUNCATE TABLE t2; ERROR HY000: Table test/t2 is corrupted. Please drop the table and recreate. DROP TABLE t2; # Start server with keys2.txt # restart: --file-key-management-filename=MYSQL_TEST_DIR/std_data/keys2.txt