summaryrefslogtreecommitdiff
path: root/mysql-test/main/mysql_install_db_win.test
blob: 3f0256e860e510e61090acc3f115e2d1fe9bb5db (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
--source include/windows.inc

# Create database  in tmp directory using mysql_install_db.exe, 
# and start server from this directory.
let $ddir= $MYSQLTEST_VARDIR/tmp/ddir;
exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo -R;

--source include/kill_mysqld.inc
let $restart_parameters=--datadir=$ddir --loose-innodb;
--source include/start_mysqld.inc

connect root,localhost,root,foo;
# Smoke test - check that we're actually using datadir
# we've created (i.e restart_parameters worked)
--replace_result  $ddir DATADIR
SELECT @@datadir;

# restart in the original datadir again
--source include/kill_mysqld.inc
rmdir $ddir;

# MDEV-23052
# 1. mysql_install_db works on existing, empty directory
mkdir $ddir;
exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo -R > /dev/null;
rmdir $ddir;

# 2. mysql_install_db rejects existing, non-empty directory, and does not
# remove it.
mkdir $ddir;
write_file $ddir/1;
EOF

error 1;
exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo -R > $MYSQLTEST_VARDIR/tmp/install.log 2>&1;
list_files $ddir;
let $log=$MYSQLTEST_VARDIR/tmp/install.log;
let SEARCH_FILE=$log;
let SEARCH_PATTERN=is not empty. Only new or empty existing directories are accepted for --datadir;
--source include/search_pattern_in_file.inc
remove_file $log;

rmdir $ddir;

let $restart_parameters=;
connection default;
--source include/start_mysqld.inc