summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/rpl/t/rpl_flush_logs.test
blob: 6dad588f217b60a3e3a879322409fbe0b9780fe7 (plain)
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
#
# WL#5124
# This test verifies if the 'flush individual logs' statement 
# works fine.  
#

--source include/have_binlog_format_statement.inc
--source include/master-slave.inc
connection master;

# Test 'flush error logs' statement.

--echo # Test if support 'flush error logs' statement.
flush error logs;

file_exists $MYSQLTEST_VARDIR/tmp/master_log.err;

--echo # Make sure binary logs was not be flushed
--echo # after execute 'flush error logs' statement.
--error 1
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;

sync_slave_with_master;
--echo # Make sure relay logs was not be flushed 
--echo # after execute 'flush error logs' statement.
--error 1
file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000003;

connection master;
--echo # Test if support 'flush relay logs' statement.
flush relay logs;

sync_slave_with_master;
--echo # Check the 'slave-relay-bin.000003' file is not created
--echo # after executed 'flush relay logs' statement.
--error 1
file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000003;

connection master;
--echo # Make sure binary logs was not be flushed
--echo # after execute 'flush relay logs' statement.
--error 1
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;


# Test 'flush slow logs' statement.
--echo # Test if support 'flush slow logs' statement.
flush slow logs;

--echo # Make sure binary logs was not be flushed
--echo # after execute 'flush slow logs' statement.
--error 1
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;


# Test 'flush general logs' statement.
--echo # Test if support 'flush general logs' statement.
flush general logs;

--echo # Make sure binary logs was not be flushed
--echo # after execute 'flush general logs' statement.
--error 1
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;


# Test 'flush engine logs' statement.
--echo # Test if support 'flush engine logs' statement.
flush engine logs;

--echo # Make sure binary logs was not be flushed
--echo # after execute 'flush engine logs' statement.
--error 1
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;


# Test 'flush binary logs' statement.
--echo # Make sure the 'master-bin.000002' file does not
--echo # exist before execute 'flush binary logs' statement.
--error 1
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;

--echo # Test if support 'flush binary logs' statement.
flush binary logs;

--echo # Check the 'master-bin.000002' file is created
--echo # after executed 'flush binary logs' statement.
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000002;
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000001;


# Test 'flush error logs, relay logs' statement
sync_slave_with_master;
--echo # Make sure the 'slave-relay-bin.000005' file does not exist
--echo # exist before execute 'flush error logs, relay logs' statement.
--error 1
file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000005;

connection master;

--echo # Test if support to combine all kinds of logs into one statement.
flush error logs, relay logs;

file_exists $MYSQLTEST_VARDIR/tmp/master_log.err;

--echo # Make sure binary logs was not be flushed
--echo # after execute 'flush error logs, relay logs' statement.
--error 1
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000003;

sync_slave_with_master;
--echo # Check the 'slave-relay-bin.000004' file is created after
--echo # execute 'flush error logs, relay logs' statement.
file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000004;

# Test 'flush logs' statement
--echo # Make sure the 'slave-relay-bin.000005' and 'slave-relay-bin.000006'
--echo # files do not exist before execute 'flush error logs, relay logs'
--echo # statement.
--error 1
file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000005;
--error 1
file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000006;

connection master;

--echo # Test if 'flush logs' statement works fine and flush all the logs.
flush logs;

file_exists $MYSQLTEST_VARDIR/tmp/master_log.err;

--echo # Check 'master-bin.000003' is created
--echo # after execute 'flush logs' statement.
file_exists $MYSQLTEST_VARDIR/mysqld.1/data/master-bin.000003;

sync_slave_with_master;
--echo # Check the 'slave-relay-bin.000005' and 'slave-relay-bin.000006'
--echo # files are created after execute 'flush logs' statement.
file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000005;
file_exists $MYSQLTEST_VARDIR/mysqld.2/data/slave-relay-bin.000006;

--source include/rpl_end.inc