Skip to content

Commit 20c2304

Browse files
author
Jan Lindström
committed
MDEV-8164: Server crashes in pfs_mutex_enter_func after fil_crypt_is_closing or alike
Analysis: Problem was that tablespaces not encrypted might not have crypt_data stored on disk. Fixed by always creating crypt_data to memory cache of the tablespace. MDEV-8138: strange results from encrypt-and-grep test Analysis: crypt_data->type is not updated correctly on memory cache. This caused problem with state tranfer on encrypted => unencrypted => encrypted. Fixed by updating memory cache of crypt_data->type correctly based on current srv_encrypt_tables value to either CRYPT_SCHEME_1 or CRYPT_SCHEME_UNENCRYPTED.
1 parent 476dfb1 commit 20c2304

17 files changed

+991
-247
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
##############################################################################
2+
#
3+
# List the test cases that are to be disabled temporarily.
4+
#
5+
# Separate the test case name and the comment with ':'.
6+
#
7+
# <testcasename> : BUG#<xxxx> <date disabled> <disabler> <comment>
8+
#
9+
# Do not use any TAB characters for whitespace.
10+
#
11+
##############################################################################
12+
13+
innodb_scrub : MDEV-8139
14+
innodb_scrub_compressed : MDEV-8139
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
SET GLOBAL innodb_file_per_table = ON;
2+
create table t1 (a varchar(255)) engine=innodb encrypted=yes;
3+
create table t2 (a varchar(255)) engine=innodb;
4+
create table t3 (a varchar(255)) engine=innodb encrypted=no;
5+
insert t1 values (repeat('foobar', 42));
6+
insert t2 values (repeat('temp', 42));
7+
insert t3 values (repeat('dummy', 42));
8+
# Wait max 10 min for key encryption threads to encrypt all spaces
9+
# t1 yes on expecting NOT FOUND
10+
NOT FOUND /foobar/ in t1.ibd
11+
# t2 ... on expecting NOT FOUND
12+
NOT FOUND /temp/ in t2.ibd
13+
# t3 no on expecting FOUND
14+
FOUND /dummy/ in t3.ibd
15+
# ibdata1 expecting NOT FOUND
16+
NOT FOUND /foobar/ in ibdata1
17+
# Now turn off encryption and wait for threads to decrypt everything
18+
SET GLOBAL innodb_encryption_threads = 4;
19+
SET GLOBAL innodb_encrypt_tables = off;
20+
# Wait max 10 min for key encryption threads to decrypt all spaces
21+
# t1 yes on expecting NOT FOUND
22+
NOT FOUND /foobar/ in t1.ibd
23+
# t2 ... on expecting FOUND
24+
FOUND /temp/ in t2.ibd
25+
# t3 no on expecting FOUND
26+
FOUND /dummy/ in t3.ibd
27+
# ibdata1 expecting NOT FOUND
28+
NOT FOUND /foobar/ in ibdata1
29+
# Now turn on encryption and wait for threads to encrypt all spaces
30+
SET GLOBAL innodb_encryption_threads = 4;
31+
SET GLOBAL innodb_encrypt_tables = on;
32+
# Wait max 10 min for key encryption threads to encrypt all spaces
33+
# t1 yes on expecting NOT FOUND
34+
NOT FOUND /foobar/ in t1.ibd
35+
# t2 ... on expecting NOT FOUND
36+
NOT FOUND /temp/ in t2.ibd
37+
# t3 no on expecting FOUND
38+
FOUND /dummy/ in t3.ibd
39+
# ibdata1 expecting NOT FOUND
40+
NOT FOUND /foobar/ in ibdata1
41+
# TODO: add shutdown + grep tests
42+
drop table t1, t2, t3;
Lines changed: 325 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,325 @@
1+
SET default_storage_engine = InnoDB;
2+
CREATE TABLE t1 (pk INT PRIMARY KEY, c VARCHAR(256));
3+
CREATE TABLE t2 AS SELECT * FROM t1;
4+
SET GLOBAL innodb_encrypt_tables = ON;
5+
SET GLOBAL innodb_encryption_threads = 1;
6+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
7+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
8+
SET GLOBAL innodb_encryption_rotation_iops = 100;
9+
SET GLOBAL innodb_encrypt_tables = OFF;
10+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
11+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
12+
SET GLOBAL innodb_encrypt_tables = ON;
13+
SET GLOBAL innodb_encryption_threads = 1;
14+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
15+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
16+
SET GLOBAL innodb_encryption_rotation_iops = 100;
17+
SET GLOBAL innodb_encrypt_tables = OFF;
18+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
19+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
20+
SET GLOBAL innodb_encrypt_tables = ON;
21+
SET GLOBAL innodb_encryption_threads = 1;
22+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
23+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
24+
SET GLOBAL innodb_encryption_rotation_iops = 100;
25+
SET GLOBAL innodb_encrypt_tables = OFF;
26+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
27+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
28+
SET GLOBAL innodb_encrypt_tables = ON;
29+
SET GLOBAL innodb_encryption_threads = 1;
30+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
31+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
32+
SET GLOBAL innodb_encryption_rotation_iops = 100;
33+
SET GLOBAL innodb_encrypt_tables = OFF;
34+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
35+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
36+
SET GLOBAL innodb_encrypt_tables = ON;
37+
SET GLOBAL innodb_encryption_threads = 1;
38+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
39+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
40+
SET GLOBAL innodb_encryption_rotation_iops = 100;
41+
SET GLOBAL innodb_encrypt_tables = OFF;
42+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
43+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
44+
SET GLOBAL innodb_encrypt_tables = ON;
45+
SET GLOBAL innodb_encryption_threads = 1;
46+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
47+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
48+
SET GLOBAL innodb_encryption_rotation_iops = 100;
49+
SET GLOBAL innodb_encrypt_tables = OFF;
50+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
51+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
52+
SET GLOBAL innodb_encrypt_tables = ON;
53+
SET GLOBAL innodb_encryption_threads = 1;
54+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
55+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
56+
SET GLOBAL innodb_encryption_rotation_iops = 100;
57+
SET GLOBAL innodb_encrypt_tables = OFF;
58+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
59+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
60+
SET GLOBAL innodb_encrypt_tables = ON;
61+
SET GLOBAL innodb_encryption_threads = 1;
62+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
63+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
64+
SET GLOBAL innodb_encryption_rotation_iops = 100;
65+
SET GLOBAL innodb_encrypt_tables = OFF;
66+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
67+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
68+
SET GLOBAL innodb_encrypt_tables = ON;
69+
SET GLOBAL innodb_encryption_threads = 1;
70+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
71+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
72+
SET GLOBAL innodb_encryption_rotation_iops = 100;
73+
SET GLOBAL innodb_encrypt_tables = OFF;
74+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
75+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
76+
SET GLOBAL innodb_encrypt_tables = ON;
77+
SET GLOBAL innodb_encryption_threads = 1;
78+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
79+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
80+
SET GLOBAL innodb_encryption_rotation_iops = 100;
81+
SET GLOBAL innodb_encrypt_tables = OFF;
82+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
83+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
84+
SET GLOBAL innodb_encrypt_tables = ON;
85+
SET GLOBAL innodb_encryption_threads = 1;
86+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
87+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
88+
SET GLOBAL innodb_encryption_rotation_iops = 100;
89+
SET GLOBAL innodb_encrypt_tables = OFF;
90+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
91+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
92+
SET GLOBAL innodb_encrypt_tables = ON;
93+
SET GLOBAL innodb_encryption_threads = 1;
94+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
95+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
96+
SET GLOBAL innodb_encryption_rotation_iops = 100;
97+
SET GLOBAL innodb_encrypt_tables = OFF;
98+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
99+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
100+
SET GLOBAL innodb_encrypt_tables = ON;
101+
SET GLOBAL innodb_encryption_threads = 1;
102+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
103+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
104+
SET GLOBAL innodb_encryption_rotation_iops = 100;
105+
SET GLOBAL innodb_encrypt_tables = OFF;
106+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
107+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
108+
SET GLOBAL innodb_encrypt_tables = ON;
109+
SET GLOBAL innodb_encryption_threads = 1;
110+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
111+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
112+
SET GLOBAL innodb_encryption_rotation_iops = 100;
113+
SET GLOBAL innodb_encrypt_tables = OFF;
114+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
115+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
116+
SET GLOBAL innodb_encrypt_tables = ON;
117+
SET GLOBAL innodb_encryption_threads = 1;
118+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
119+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
120+
SET GLOBAL innodb_encryption_rotation_iops = 100;
121+
SET GLOBAL innodb_encrypt_tables = OFF;
122+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
123+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
124+
SET GLOBAL innodb_encrypt_tables = ON;
125+
SET GLOBAL innodb_encryption_threads = 1;
126+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
127+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
128+
SET GLOBAL innodb_encryption_rotation_iops = 100;
129+
SET GLOBAL innodb_encrypt_tables = OFF;
130+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
131+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
132+
SET GLOBAL innodb_encrypt_tables = ON;
133+
SET GLOBAL innodb_encryption_threads = 1;
134+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
135+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
136+
SET GLOBAL innodb_encryption_rotation_iops = 100;
137+
SET GLOBAL innodb_encrypt_tables = OFF;
138+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
139+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
140+
SET GLOBAL innodb_encrypt_tables = ON;
141+
SET GLOBAL innodb_encryption_threads = 1;
142+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
143+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
144+
SET GLOBAL innodb_encryption_rotation_iops = 100;
145+
SET GLOBAL innodb_encrypt_tables = OFF;
146+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
147+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
148+
SET GLOBAL innodb_encrypt_tables = ON;
149+
SET GLOBAL innodb_encryption_threads = 1;
150+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
151+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
152+
SET GLOBAL innodb_encryption_rotation_iops = 100;
153+
SET GLOBAL innodb_encrypt_tables = OFF;
154+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
155+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
156+
SET GLOBAL innodb_encrypt_tables = ON;
157+
SET GLOBAL innodb_encryption_threads = 1;
158+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
159+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
160+
SET GLOBAL innodb_encryption_rotation_iops = 100;
161+
SET GLOBAL innodb_encrypt_tables = OFF;
162+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
163+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
164+
SET GLOBAL innodb_encrypt_tables = ON;
165+
SET GLOBAL innodb_encryption_threads = 1;
166+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
167+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
168+
SET GLOBAL innodb_encryption_rotation_iops = 100;
169+
SET GLOBAL innodb_encrypt_tables = OFF;
170+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
171+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
172+
SET GLOBAL innodb_encrypt_tables = ON;
173+
SET GLOBAL innodb_encryption_threads = 1;
174+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
175+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
176+
SET GLOBAL innodb_encryption_rotation_iops = 100;
177+
SET GLOBAL innodb_encrypt_tables = OFF;
178+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
179+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
180+
SET GLOBAL innodb_encrypt_tables = ON;
181+
SET GLOBAL innodb_encryption_threads = 1;
182+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
183+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
184+
SET GLOBAL innodb_encryption_rotation_iops = 100;
185+
SET GLOBAL innodb_encrypt_tables = OFF;
186+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
187+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
188+
SET GLOBAL innodb_encrypt_tables = ON;
189+
SET GLOBAL innodb_encryption_threads = 1;
190+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
191+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
192+
SET GLOBAL innodb_encryption_rotation_iops = 100;
193+
SET GLOBAL innodb_encrypt_tables = OFF;
194+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
195+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
196+
SET GLOBAL innodb_encrypt_tables = ON;
197+
SET GLOBAL innodb_encryption_threads = 1;
198+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
199+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
200+
SET GLOBAL innodb_encryption_rotation_iops = 100;
201+
SET GLOBAL innodb_encrypt_tables = OFF;
202+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
203+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
204+
SET GLOBAL innodb_encrypt_tables = ON;
205+
SET GLOBAL innodb_encryption_threads = 1;
206+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
207+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
208+
SET GLOBAL innodb_encryption_rotation_iops = 100;
209+
SET GLOBAL innodb_encrypt_tables = OFF;
210+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
211+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
212+
SET GLOBAL innodb_encrypt_tables = ON;
213+
SET GLOBAL innodb_encryption_threads = 1;
214+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
215+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
216+
SET GLOBAL innodb_encryption_rotation_iops = 100;
217+
SET GLOBAL innodb_encrypt_tables = OFF;
218+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
219+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
220+
SET GLOBAL innodb_encrypt_tables = ON;
221+
SET GLOBAL innodb_encryption_threads = 1;
222+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
223+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
224+
SET GLOBAL innodb_encryption_rotation_iops = 100;
225+
SET GLOBAL innodb_encrypt_tables = OFF;
226+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
227+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
228+
SET GLOBAL innodb_encrypt_tables = ON;
229+
SET GLOBAL innodb_encryption_threads = 1;
230+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
231+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
232+
SET GLOBAL innodb_encryption_rotation_iops = 100;
233+
SET GLOBAL innodb_encrypt_tables = OFF;
234+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
235+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
236+
SET GLOBAL innodb_encrypt_tables = ON;
237+
SET GLOBAL innodb_encryption_threads = 1;
238+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
239+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
240+
SET GLOBAL innodb_encryption_rotation_iops = 100;
241+
SET GLOBAL innodb_encrypt_tables = OFF;
242+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
243+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
244+
SET GLOBAL innodb_encrypt_tables = ON;
245+
SET GLOBAL innodb_encryption_threads = 1;
246+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
247+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
248+
SET GLOBAL innodb_encryption_rotation_iops = 100;
249+
SET GLOBAL innodb_encrypt_tables = OFF;
250+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
251+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
252+
SET GLOBAL innodb_encrypt_tables = ON;
253+
SET GLOBAL innodb_encryption_threads = 1;
254+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
255+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
256+
SET GLOBAL innodb_encryption_rotation_iops = 100;
257+
SET GLOBAL innodb_encrypt_tables = OFF;
258+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
259+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
260+
SET GLOBAL innodb_encrypt_tables = ON;
261+
SET GLOBAL innodb_encryption_threads = 1;
262+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
263+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
264+
SET GLOBAL innodb_encryption_rotation_iops = 100;
265+
SET GLOBAL innodb_encrypt_tables = OFF;
266+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
267+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
268+
SET GLOBAL innodb_encrypt_tables = ON;
269+
SET GLOBAL innodb_encryption_threads = 1;
270+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
271+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
272+
SET GLOBAL innodb_encryption_rotation_iops = 100;
273+
SET GLOBAL innodb_encrypt_tables = OFF;
274+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
275+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
276+
SET GLOBAL innodb_encrypt_tables = ON;
277+
SET GLOBAL innodb_encryption_threads = 1;
278+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
279+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
280+
SET GLOBAL innodb_encryption_rotation_iops = 100;
281+
SET GLOBAL innodb_encrypt_tables = OFF;
282+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
283+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
284+
SET GLOBAL innodb_encrypt_tables = ON;
285+
SET GLOBAL innodb_encryption_threads = 1;
286+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
287+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
288+
SET GLOBAL innodb_encryption_rotation_iops = 100;
289+
SET GLOBAL innodb_encrypt_tables = OFF;
290+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
291+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
292+
SET GLOBAL innodb_encrypt_tables = ON;
293+
SET GLOBAL innodb_encryption_threads = 1;
294+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
295+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
296+
SET GLOBAL innodb_encryption_rotation_iops = 100;
297+
SET GLOBAL innodb_encrypt_tables = OFF;
298+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
299+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
300+
SET GLOBAL innodb_encrypt_tables = ON;
301+
SET GLOBAL innodb_encryption_threads = 1;
302+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
303+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
304+
SET GLOBAL innodb_encryption_rotation_iops = 100;
305+
SET GLOBAL innodb_encrypt_tables = OFF;
306+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
307+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
308+
SET GLOBAL innodb_encrypt_tables = ON;
309+
SET GLOBAL innodb_encryption_threads = 1;
310+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
311+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
312+
SET GLOBAL innodb_encryption_rotation_iops = 100;
313+
SET GLOBAL innodb_encrypt_tables = OFF;
314+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
315+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
316+
SET GLOBAL innodb_encrypt_tables = ON;
317+
SET GLOBAL innodb_encryption_threads = 1;
318+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
319+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
320+
SET GLOBAL innodb_encryption_rotation_iops = 100;
321+
SET GLOBAL innodb_encrypt_tables = OFF;
322+
CREATE OR REPLACE TABLE t2 AS SELECT * FROM t1;
323+
CREATE OR REPLACE TABLE t1 AS SELECT * FROM t2;
324+
drop table t1,t2;
325+
SET GLOBAL innodb_encryption_threads = 0;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
--innodb-encrypt-tables=ON
2+
--innodb-encrypt-log=ON
3+
--innodb-encryption-rotate-key-age=15
4+
--innodb-encryption-threads=4
5+
--innodb-tablespaces-encryption
6+
--innodb-max-dirty-pages-pct=0.001
7+
8+

0 commit comments

Comments
 (0)