mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-27 00:48:30 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| --source include/windows.inc
 | |
| select database();
 | |
| use mysql;
 | |
| 
 | |
| # 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,mysql);
 | |
| # 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;
 | |
| disable_result_log;
 | |
| exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo -R --verbose-bootstrap;
 | |
| enable_result_log;
 | |
| 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;
 | |
| 
 | |
| # MDEV-28471 - mysql_install_db.exe fails with --innodb-page-size=64K
 | |
| --disable_result_log
 | |
| exec $MYSQL_INSTALL_DB_EXE --datadir=$ddir --password=foo -R --innodb-page-size=64K --verbose;
 | |
| --enable_result_log
 | |
| rmdir $ddir;
 | |
| 
 | |
| # Tests with config file
 | |
| let $restart_parameters=;
 | |
| connection default;
 | |
| 
 | |
| # Test --template option
 | |
| let _BASEDIR = $MYSQLTEST_VARDIR/tmp/basedir;
 | |
| perl;
 | |
|   use autodie;
 | |
|   open(IN, '<', "std_data/mysql_install_db_win.ini");
 | |
|   open(OUT, '>', "$ENV{MYSQLTEST_VARDIR}/tmp/mysql_install_db_win.ini");
 | |
|   while (<IN>) {
 | |
|     s/BASEDIR/$ENV{_BASEDIR}/g;
 | |
|     print OUT $_;
 | |
|   }
 | |
|   close IN;
 | |
|   close OUT
 | |
| EOF
 | |
| mkdir $_BASEDIR;
 | |
| mkdir $_BASEDIR/temp;
 | |
| 
 | |
| # Run mysql_install_db.exe with config parameter
 | |
| --disable_result_log
 | |
| exec $MYSQL_INSTALL_DB_EXE -o --port=3307 --config=$MYSQLTEST_VARDIR/tmp/mysql_install_db_win.ini;
 | |
| --enable_result_log
 | |
| 
 | |
| # dump the modified config in data directory
 | |
| perl;
 | |
|   use autodie;
 | |
|   open(IN, '<', "$ENV{_BASEDIR}/data/my.ini");
 | |
|   while (<IN>) {
 | |
|     s/$ENV{_BASEDIR}/BASEDIR/g;
 | |
|     # when testing on installation layout, client's plugin
 | |
|     # dir is added, but when testing in build dir.
 | |
|     print unless  $_ =~ /plugin-dir/;
 | |
|   }
 | |
|   close IN;
 | |
| EOF
 | |
| rmdir $_BASEDIR;
 | |
| --source include/start_mysqld.inc
 | |
| use test;
 | |
| 
 | 
