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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
####
#### 1. When binlog_expire_logs_seconds == 0 and expire_logs_days == 0
#### no purge should happen
SET GLOBAL binlog_expire_logs_seconds= 0;
SET GLOBAL expire_logs_days= 0;
CREATE TABLE t1(s LONGBLOB );
Case:0
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 1. FLUSH LOGS
FLUSH LOGS;
RESET MASTER;
Case:1
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 2. Binlog_size > max_binlog_size
SET @@GLOBAL.MAX_BINLOG_SIZE= 4096;
INSERT INTO t1 (s) VALUES (REPEAT('s',50000));
RESET MASTER;
Case:2
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 3. Server restart
# restart: --binlog_expire_logs_seconds=0
RESET MASTER;
##### Cleanup #####
SET @@GLOBAL.MAX_BINLOG_SIZE= 1073741824;;
DROP TABLE t1;
RESET MASTER;
####
#### 2.1: binlog_expire_logs_seconds > 0 and expire_logs_days > 0
#### expire_logs_days=1.5 and binlog_expire_logs_seconds=86400
#### Since binlog_expire_logs_seconds is set later
#### expire_logs_days value will be overridden should be
#### '0.000347222'
####
Testing with smaller values of binlog_expire_logs_seconds
SET GLOBAL expire_logs_days= 1.5;
SET GLOBAL binlog_expire_logs_seconds= 30 ;
SELECT @@expire_logs_days as 'Expected_0.000347222';
Expected_0.000347222
0.000347
SELECT @@binlog_expire_logs_seconds as Expected_30;
Expected_30
30
FLUSH LOGS;
FLUSH LOGS;
FLUSH LOGS;
RESET MASTER;
####
#### 2.2: binlog_expire_logs_seconds = 43200 and expire_logs_days = 0
####
SET GLOBAL expire_logs_days=0;
SET GLOBAL binlog_expire_logs_seconds=43200;
SELECT @@expire_logs_days as 'Expected_0.5';
Expected_0.5
0.500000
SELECT @@binlog_expire_logs_seconds as Expected_43200;
Expected_43200
43200
CREATE TABLE t1(s LONGBLOB );
Case:0
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 1. FLUSH LOGS
FLUSH LOGS;
RESET MASTER;
Case:1
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 2. Binlog_size > max_binlog_size
SET @@GLOBAL.MAX_BINLOG_SIZE= 4096;
INSERT INTO t1 (s) VALUES (REPEAT('s',50000));
RESET MASTER;
Case:2
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 3. Server restart
# restart: --binlog_expire_logs_seconds=43200
RESET MASTER;
##### Cleanup #####
SET @@GLOBAL.MAX_BINLOG_SIZE= 1073741824;;
DROP TABLE t1;
RESET MASTER;
####
#### 2.3: binlog_expire_logs_seconds == 0 and expire_logs_days > 0
####
SET GLOBAL binlog_expire_logs_seconds= 0;
SET GLOBAL expire_logs_days= 1;
SELECT @@expire_logs_days as Expected_1;
Expected_1
1.000000
SELECT @@binlog_expire_logs_seconds as Expected_86400;
Expected_86400
86400
CREATE TABLE t1(s LONGBLOB );
Case:0
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 1. FLUSH LOGS
FLUSH LOGS;
RESET MASTER;
Case:1
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 2. Binlog_size > max_binlog_size
SET @@GLOBAL.MAX_BINLOG_SIZE= 4096;
INSERT INTO t1 (s) VALUES (REPEAT('s',50000));
RESET MASTER;
Case:2
FLUSH LOGS;
INSERT INTO t1 VALUES('a');
FLUSH LOGS;
#### 3. Server restart
# restart: --binlog_expire_logs_seconds=86400
RESET MASTER;
##### Cleanup #####
SET @@GLOBAL.MAX_BINLOG_SIZE= 1073741824;;
DROP TABLE t1;
RESET MASTER;
####
#### 2.4: binlog_expire_logs_seconds = 1
####
SET GLOBAL binlog_expire_logs_seconds= 1;
SELECT @@expire_logs_days;
@@expire_logs_days
0.000012
SELECT @@binlog_expire_logs_seconds as Expected_1;
Expected_1
1
####
#### 2.5. binlog_expire_logs_seconds = 8553600, testing max value 99days
####
SET GLOBAL binlog_expire_logs_seconds= 8553600;
SELECT @@expire_logs_days;
@@expire_logs_days
99.000000
SELECT @@binlog_expire_logs_seconds as Expected_8553600;
Expected_8553600
8553600
SET GLOBAL binlog_expire_logs_seconds= 0;
SET GLOBAL expire_logs_days= 0.000000;
|