mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 02:30:06 +01:00
dc91372de3
======== During ibd file creation, InnoDB flushes the page0 without crypt information. During recovery, InnoDB encounters encrypted page read before initialising the crypt data of the tablespace. So it leads t corruption of page and doesn't allow innodb to start. Solution: ========= Write crypt_data information in page0 while creating .ibd file creation. During recovery, crypt_data will be initialised while processing MLOG_FILE_NAME redo log record.
26 lines
953 B
Text
26 lines
953 B
Text
SET GLOBAL innodb_encrypt_tables = ON;
|
|
SET GLOBAL innodb_encryption_threads = 1;
|
|
SET GLOBAL innodb_max_dirty_pages_pct = 99;
|
|
SHOW VARIABLES LIKE 'innodb_encrypt%';
|
|
Variable_name Value
|
|
innodb_encrypt_log OFF
|
|
innodb_encrypt_tables ON
|
|
innodb_encrypt_temporary_tables OFF
|
|
innodb_encryption_rotate_key_age 1
|
|
innodb_encryption_rotation_iops 100
|
|
innodb_encryption_threads 1
|
|
CREATE TABLE t1(f1 INT NOT NULL, f2 CHAR(255), f3 CHAR(255),
|
|
f4 CHAR(255), f5 CHAR(255))ENGINE=INNODB;
|
|
INSERT INTO t1 VALUES(1, "mysql", "mariadb", "batman", "superman");
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
# Wait max 10 min for key encryption threads to encrypt all spaces
|
|
OPTIMIZE TABLE t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
|
|
test.t1 optimize status OK
|
|
ALTER TABLE t1 FORCE;
|
|
# Kill the server
|
|
DROP TABLE t1;
|