1--source include/windows.inc 2 3# Create database in tmp directory using mysql_install_db.exe, 4# and start server from this directory. 5let $ddir= $MYSQLTEST_VARDIR/tmp/ddir; 6exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo -R; 7 8--source include/kill_mysqld.inc 9let $restart_parameters=--datadir=$ddir --loose-innodb; 10--source include/start_mysqld.inc 11 12connect root,localhost,root,foo; 13# Smoke test - check that we're actually using datadir 14# we've created (i.e restart_parameters worked) 15--replace_result $ddir DATADIR 16SELECT @@datadir; 17 18# restart in the original datadir again 19--source include/kill_mysqld.inc 20rmdir $ddir; 21 22# MDEV-23052 23# 1. mysql_install_db works on existing, empty directory 24mkdir $ddir; 25exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo -R > /dev/null; 26rmdir $ddir; 27 28# 2. mysql_install_db rejects existing, non-empty directory, and does not 29# remove it. 30mkdir $ddir; 31write_file $ddir/1; 32EOF 33 34error 1; 35exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo -R > $MYSQLTEST_VARDIR/tmp/install.log 2>&1; 36list_files $ddir; 37let $log=$MYSQLTEST_VARDIR/tmp/install.log; 38let SEARCH_FILE=$log; 39let SEARCH_PATTERN=is not empty. Only new or empty existing directories are accepted for --datadir; 40--source include/search_pattern_in_file.inc 41remove_file $log; 42 43rmdir $ddir; 44 45let $restart_parameters=; 46connection default; 47--source include/start_mysqld.inc 48 49