10
10
11
11
let BASEDIR= `select @@basedir`;
12
12
let DDIR= $MYSQL_TMP_DIR/dd_bootstrap_test;
13
- let MYSQLD_LOG= $MYSQL_TMP_DIR/server.log;
14
- let extra_args= --no-defaults --innodb_dedicated_server=OFF --log-error=$MYSQLD_LOG --log-syslog=0 --secure-file-priv="" --loose-skip-auto_generate_certs --loose-skip-sha256_password_auto_generate_rsa_keys --skip-ssl --basedir=$BASEDIR --lc-messages-dir=$MYSQL_SHAREDIR;
13
+ let extra_args= --no-defaults --innodb_dedicated_server=OFF --log-syslog=0 --secure-file-priv="" --loose-skip-auto_generate_certs --loose-skip-sha256_password_auto_generate_rsa_keys --skip-ssl --basedir=$BASEDIR --lc-messages-dir=$MYSQL_SHAREDIR;
15
14
let BOOTSTRAP_SQL= $MYSQL_TMP_DIR/tiny_bootstrap.sql;
16
15
let PASSWD_FILE= $MYSQL_TMP_DIR/password_file.txt;
17
16
@@ -24,6 +23,9 @@ let PASSWD_FILE= $MYSQL_TMP_DIR/password_file.txt;
24
23
--echo # 1. Try restart after setting an invalid version.
25
24
--echo # ------------------------------------------------
26
25
26
+ let $MYSQLD_LOG= $MYSQLTEST_VARDIR/log/save_dd_bootstrap_1.log;
27
+ let ENV_MYSQLD_LOG= $MYSQLD_LOG;
28
+
27
29
--echo # 1.1 Create bootstrap file.
28
30
write_file $BOOTSTRAP_SQL;
29
31
SET SESSION debug= '+d,skip_dd_table_access_check';
@@ -33,31 +35,33 @@ write_file $BOOTSTRAP_SQL;
33
35
EOF
34
36
35
37
--echo # 1.2 First start the server with --initialize, and update the version.
36
- --exec $MYSQLD $extra_args --initialize-insecure --datadir=$DDIR --init-file=$BOOTSTRAP_SQL
38
+ --exec $MYSQLD $extra_args --log-error=$MYSQLD_LOG -- initialize-insecure --datadir=$DDIR --init-file=$BOOTSTRAP_SQL
37
39
38
40
--echo # 1.3 Restart the server against DDIR - should fail.
39
41
--error 1
40
- --exec $MYSQLD $extra_args --datadir=$DDIR
42
+ --exec $MYSQLD $extra_args --log-error=$MYSQLD_LOG -- datadir=$DDIR
41
43
42
44
--echo # 1.4 Look for error.
43
45
perl;
44
46
use strict;
45
- my $log= $ENV{'MYSQLD_LOG '} or die;
47
+ my $log= $ENV{'ENV_MYSQLD_LOG '} or die;
46
48
open(FILE, "$log") or die;
47
49
my $c_w= grep(/No data dictionary version number found./gi,<FILE>);
48
50
print "# Data Dictionary initialization error found $c_w times.\n";
49
51
close(FILE);
50
52
EOF
51
53
52
- --echo # 1.5 Delete bootstrap file, log file and datadir.
54
+ --echo # 1.5 Delete bootstrap file and datadir.
53
55
remove_file $BOOTSTRAP_SQL;
54
- remove_file $MYSQLD_LOG;
55
56
--force-rmdir $DDIR
56
57
57
58
--echo #
58
59
--echo # 2. Try restart after dropping the properties table.
59
60
--echo # ---------------------------------------------------
60
61
62
+ let $MYSQLD_LOG= $MYSQLTEST_VARDIR/log/save_dd_bootstrap_2.log;
63
+ let ENV_MYSQLD_LOG= $MYSQLD_LOG;
64
+
61
65
--echo # 2.1 Create bootstrap file.
62
66
write_file $BOOTSTRAP_SQL;
63
67
CREATE SCHEMA test;
68
72
69
73
--echo # 2.2 First start the server with --initialize, and drop the properties table. Should fail.
70
74
--error 1
71
- --exec $MYSQLD $extra_args --initialize-insecure --datadir=$DDIR --init-file=$BOOTSTRAP_SQL
75
+ --exec $MYSQLD $extra_args --log-error=$MYSQLD_LOG -- initialize-insecure --datadir=$DDIR --init-file=$BOOTSTRAP_SQL
72
76
73
77
--echo # 2.3 Look for error.
74
78
perl;
75
79
use strict;
76
- my $log= $ENV{'MYSQLD_LOG '} or die;
80
+ my $log= $ENV{'ENV_MYSQLD_LOG '} or die;
77
81
open(FILE, "$log") or die;
78
82
my $c_w= grep(/The used command is not allowed with this MySQL version/gi,<FILE>);
79
83
print "# Data Dictionary initialization error found $c_w times.\n";
80
84
close(FILE);
81
85
EOF
82
86
83
- --echo # 2.4 Delete bootstrap file, log file and datadir.
87
+ --echo # 2.4 Delete bootstrap file and datadir.
84
88
remove_file $BOOTSTRAP_SQL;
85
- remove_file $MYSQLD_LOG;
86
89
--force-rmdir $DDIR
87
90
88
91
--echo #
89
92
--echo # 3. Try restart after dropping the tables table.
90
93
--echo # -----------------------------------------------
91
94
95
+ let $MYSQLD_LOG= $MYSQLTEST_VARDIR/log/save_dd_bootstrap_3.log;
96
+ let ENV_MYSQLD_LOG= $MYSQLD_LOG;
97
+
92
98
--echo # 3.1 Create bootstrap file.
93
99
write_file $BOOTSTRAP_SQL;
94
100
CREATE SCHEMA test;
@@ -100,27 +106,29 @@ EOF
100
106
101
107
--echo # 3.2 First start the server with --initialize, and drop the tables table: Should fail.
102
108
--error 1
103
- --exec $MYSQLD $extra_args --initialize-insecure --datadir=$DDIR --init-file=$BOOTSTRAP_SQL
109
+ --exec $MYSQLD $extra_args --log-error=$MYSQLD_LOG -- initialize-insecure --datadir=$DDIR --init-file=$BOOTSTRAP_SQL
104
110
105
111
--echo # 3.3 Look for error.
106
112
perl;
107
113
use strict;
108
- my $log= $ENV{'MYSQLD_LOG '} or die;
114
+ my $log= $ENV{'ENV_MYSQLD_LOG '} or die;
109
115
open(FILE, "$log") or die;
110
116
my $c_w= grep(/The used command is not allowed with this MySQL version/gi,<FILE>);
111
117
print "# Data Dictionary initialization error found $c_w times.\n";
112
118
close(FILE);
113
119
EOF
114
120
115
- --echo # 3.4 Delete bootstrap file, log file and datadir.
121
+ --echo # 3.4 Delete bootstrap file and datadir.
116
122
remove_file $BOOTSTRAP_SQL;
117
- remove_file $MYSQLD_LOG;
118
123
--force-rmdir $DDIR
119
124
120
125
--echo #
121
126
--echo # 4. Try restart after altering the schemata table.
122
127
--echo # -------------------------------------------------
123
128
129
+ let $MYSQLD_LOG= $MYSQLTEST_VARDIR/log/save_dd_bootstrap_4.log;
130
+ let ENV_MYSQLD_LOG= $MYSQLD_LOG;
131
+
124
132
--echo # 4.1 Create bootstrap file.
125
133
write_file $BOOTSTRAP_SQL;
126
134
CREATE SCHEMA test;
@@ -130,7 +138,7 @@ write_file $BOOTSTRAP_SQL;
130
138
EOF
131
139
132
140
--echo # 4.2 First start the server with --initialize, and alter the schemata table.
133
- --exec $MYSQLD $extra_args --initialize-insecure --datadir=$DDIR --init-file=$BOOTSTRAP_SQL
141
+ --exec $MYSQLD $extra_args --log-error=$MYSQLD_LOG -- initialize-insecure --datadir=$DDIR --init-file=$BOOTSTRAP_SQL
134
142
135
143
--echo # 4.3 Restart the server against DDIR.
136
144
--exec echo "restart: --datadir=$DDIR --no-console --log-error=$MYSQLD_LOG" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
@@ -157,54 +165,58 @@ SET SESSION debug= '-d,skip_dd_table_access_check';
157
165
connection default;
158
166
disconnect root_con;
159
167
160
- --echo # 4.8 Delete bootstrap file, log file and datadir.
168
+ --echo # 4.8 Delete bootstrap file and datadir.
161
169
remove_file $BOOTSTRAP_SQL;
162
- remove_file $MYSQLD_LOG;
163
170
--force-rmdir $DDIR
164
171
165
172
--echo #
166
173
--echo # 5. Try to access a DD table in an init-file during --initialize.
167
174
--echo # ----------------------------------------------------------------
168
175
176
+ let $MYSQLD_LOG= $MYSQLTEST_VARDIR/log/save_dd_bootstrap_5.log;
177
+ let ENV_MYSQLD_LOG= $MYSQLD_LOG;
178
+
169
179
--echo # 5.1 Create bootstrap file.
170
180
write_file $BOOTSTRAP_SQL;
171
181
SELECT * FROM mysql.st_spatial_reference_systems;
172
182
EOF
173
183
174
184
--echo # 5.2 First start the server with --initialize, and submit the init file.
175
185
--error 1
176
- --exec $MYSQLD $extra_args --initialize-insecure --datadir=$DDIR --init-file=$BOOTSTRAP_SQL;
186
+ --exec $MYSQLD $extra_args --log-error=$MYSQLD_LOG -- initialize-insecure --datadir=$DDIR --init-file=$BOOTSTRAP_SQL
177
187
178
188
--echo # 5.3 Look for error.
179
189
perl;
180
190
use strict;
181
- my $log= $ENV{'MYSQLD_LOG '} or die;
191
+ my $log= $ENV{'ENV_MYSQLD_LOG '} or die;
182
192
open(FILE, "$log") or die;
183
193
my $c_w= grep(/Access to data dictionary table \'mysql.st_spatial_reference_systems\' is rejected/gi,<FILE>);
184
194
print "# Data Dictionary table access error found $c_w times.\n";
185
195
close(FILE);
186
196
EOF
187
197
188
- --echo # 5.4 Delete bootstrap file, log file and datadir.
198
+ --echo # 5.4 Delete bootstrap file and datadir.
189
199
remove_file $BOOTSTRAP_SQL;
190
- remove_file $MYSQLD_LOG;
191
200
--force-rmdir $DDIR
192
201
193
202
--echo #
194
203
--echo # 6. Try to access a DD table in an init-file during plain restart.
195
204
--echo # -----------------------------------------------------------------
196
205
206
+ let $MYSQLD_LOG= $MYSQLTEST_VARDIR/log/save_dd_bootstrap_6.log;
207
+ let ENV_MYSQLD_LOG= $MYSQLD_LOG;
208
+
197
209
--echo # 6.1 Create bootstrap file.
198
210
write_file $BOOTSTRAP_SQL;
199
211
CREATE SCHEMA test;
200
212
SELECT * FROM mysql.tables;
201
213
EOF
202
214
203
215
--echo # 6.2 First start the server with --initialize.
204
- --exec $MYSQLD $extra_args --initialize-insecure --datadir=$DDIR
216
+ --exec $MYSQLD $extra_args --log-error=$MYSQLD_LOG -- initialize-insecure --datadir=$DDIR
205
217
206
218
--echo # 6.3 Restart the server against DDIR with an init-file.
207
- --exec echo "restart: --datadir=$DDIR --no-console --log-error=$MYSQLD_LOG" --init-file=$BOOTSTRAP_SQL > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
219
+ --exec echo "restart: --datadir=$DDIR --no-console --log-error=$MYSQLD_LOG --init-file=$BOOTSTRAP_SQL" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
208
220
--enable_reconnect
209
221
--source include/wait_until_connected_again.inc
210
222
@@ -216,16 +228,15 @@ EOF
216
228
--echo # 6.5 Look for error.
217
229
perl;
218
230
use strict;
219
- my $log= $ENV{'MYSQLD_LOG '} or die;
231
+ my $log= $ENV{'ENV_MYSQLD_LOG '} or die;
220
232
open(FILE, "$log") or die;
221
233
my $c_w= grep(/Access to data dictionary table \'mysql.tables\' is rejected/gi,<FILE>);
222
234
print "# Data Dictionary initialization error found $c_w times.\n";
223
235
close(FILE);
224
236
EOF
225
237
226
- --echo # 6.6 Delete bootstrap file, log file and datadir.
238
+ --echo # 6.6 Delete bootstrap file and datadir.
227
239
remove_file $BOOTSTRAP_SQL;
228
- remove_file $MYSQLD_LOG;
229
240
--force-rmdir $DDIR
230
241
231
242
--echo #
0 commit comments