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
|
--source ../include/redo_log_error_patterns.inc
let tmpdir = $MYSQLTEST_VARDIR/tmp;
let logdir = $tmpdir/logdir;
let datadir = $tmpdir/datadir;
let SEARCH_FILE = $tmpdir/my_restart.err;
let $args=--no-defaults --innodb-log-group-home-dir=$logdir --datadir=$datadir --secure-file-priv="" --loose-skip-auto-generate-certs --loose-skip-sha256-password-auto-generate-rsa-keys --loose-console --loose-skip-log-bin --log-error-verbosity=3 > $SEARCH_FILE 2>&1 ;
--echo ############################################################################################
--echo # Case 1. The redo log directory has ib_logfile0 before initializing new datadir.
--echo ############################################################################################
--echo # Prepare...
--mkdir $datadir
--mkdir $logdir
write_file $logdir/ib_logfile0;
EOF
--echo # Start MySQL...
--error 1,42
--exec $MYSQLD $args --initialize-insecure
--echo # Verify...
let SEARCH_PATTERN=--initialize specified but the redo log directory .*logdir.*has redo log files inside\. Aborting;
# Expected: found
--source include/search_pattern.inc
let SEARCH_PATTERN=data directory .*datadir.*is unusable;
# Expected: found
--source include/search_pattern.inc
let SEARCH_PATTERN=Bootstrapping complete;
# Expected: not found
--source include/search_pattern.inc
--echo # Cleanup...
--force-rmdir $logdir
--force-rmdir $datadir
--echo ############################################################################################
--echo # Case 2. The redo log directory has #innodb_redo/#ib_redo1 before initializing new datadir.
--echo ############################################################################################
--echo # Prepare...
--mkdir $datadir
--mkdir $logdir
--mkdir $logdir/#innodb_redo
write_file $logdir/#innodb_redo/#ib_redo1;
EOF
--echo # Start MySQL...
--error 1,42
--exec $MYSQLD $args --initialize-insecure
--echo # Verify...
let SEARCH_PATTERN=--initialize specified but the redo log directory .*logdir.*has redo log files inside\. Aborting;
# Expected: found
--source include/search_pattern.inc
let SEARCH_PATTERN=data directory .*datadir.*is unusable;
# Expected: found
--source include/search_pattern.inc
let SEARCH_PATTERN=Bootstrapping complete;
# Expected: not found
--source include/search_pattern.inc
--echo # Cleanup...
--force-rmdir $logdir
--force-rmdir $datadir
--echo ############################################################################################
--echo # Case 3. The redo log directory has empty #innodb_redo before initializing new datadir.
--echo ############################################################################################
--echo # Prepare...
--mkdir $datadir
--mkdir $logdir
--mkdir $logdir/#innodb_redo
--echo # Start MySQL...
--error 0
--exec $MYSQLD $args --initialize-insecure
--echo # Verify...
let SEARCH_PATTERN=Bootstrapping complete;
# Expected: found
--source include/search_pattern.inc
--echo # Cleanup...
--remove_file $SEARCH_FILE
--force-rmdir $logdir
--force-rmdir $datadir
|