44#include < direct.h>
55#else
66#include < sys/io.h>
7+ #include < sys/stat.h>
78#endif
89#include < stdio.h>
910#include < fcntl.h>
@@ -69,6 +70,8 @@ static bool g_ignore_dump_date = false;
6970static bool g_clean_when_done = false ;
7071static bool g_verbose = false ;
7172
73+ static bool g_mysql_cfg_created = false ;
74+
7275enum checking_type { eFileExt = 0 , eFileType, eIgnore };
7376static checking_type g_strict = eFileExt;
7477
@@ -131,10 +134,10 @@ static const char* dummy = "dummy:"
131134 " \r\n " ;
132135
133136#ifdef MARIADB_BASE_VERSION
134- static const char * options_pattern[] = {" %s" , " --defaults-file=%sdata/mysql.ini " , " --language=%s/language" , " --datadir=%sdata" , " --skip-grant-tables" , " --innodb_data_home_dir=%sdata/dbtmp_%s" ,
137+ static const char * options_pattern[] = {" %s" , " --defaults-file=%sdata/mysql.cfg " , " --language=%s/language" , " --datadir=%sdata" , " --skip-grant-tables" , " --innodb_data_home_dir=%sdata/dbtmp_%s" ,
135138 " --innodb_log_group_home_dir=%sdata/dbtmp_%s" , " --innodb_tmpdir=%sdata/dbtmp_%s" , " --log_warnings=2" , NULL };
136139#else
137- static const char * options_pattern[] = {" %s" , " --defaults-file=%sdata/mysql.ini " , " --language=%s/language" , " --datadir=%sdata" , " --skip-grant-tables" , " --innodb_data_home_dir=%s/data/dbtmp_%s" ,
140+ static const char * options_pattern[] = {" %s" , " --defaults-file=%sdata/mysql.cfg " , " --language=%s/language" , " --datadir=%sdata" , " --skip-grant-tables" , " --innodb_data_home_dir=%s/data/dbtmp_%s" ,
138141 " --innodb_log_group_home_dir=%sdata/dbtmp_%s" , " --innodb_tmpdir=%sdata/dbtmp_%s" , " --log_syslog=0" , NULL };
139142#endif
140143
@@ -305,7 +308,7 @@ void prepare_mysql(const char* path, const string& dbname)
305308 fs::create_directories (config.c_str ());
306309 }
307310
308- config = string (path) + " /data/mysql.ini " ;
311+ config = string (path) + " /data/mysql.cfg " ;
309312 if (0 != access (config.c_str (), 6 )) {
310313 ofstream out (config.c_str ());
311314
@@ -316,7 +319,14 @@ void prepare_mysql(const char* path, const string& dbname)
316319 } else {
317320 throw runtime_error (tmp_str (" Unable to open file \" %s\" " , config.c_str ()));
318321 }
322+ g_mysql_cfg_created = true ;
323+ }
324+
325+ #ifndef _WIN32
326+ if (g_mysql_cfg_created) {
327+ chmod (config.c_str (), S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
319328 }
329+ #endif
320330
321331 config = string (path) + " /data/dbtmp_" + dbname;
322332 if (0 != access (config.c_str (), 6 )) {
@@ -1699,8 +1709,10 @@ int main(int argc, char* argv[])
16991709 string file_to_del = data_dir + " /auto.cnf" ;
17001710 fs::remove (file_to_del);
17011711
1702- file_to_del.assign (data_dir + " /mysql.ini" );
1703- fs::remove (file_to_del);
1712+ if (g_mysql_cfg_created) {
1713+ file_to_del.assign (data_dir + " /mysql.cfg" );
1714+ fs::remove (file_to_del);
1715+ }
17041716
17051717#ifdef MARIADB_BASE_VERSION
17061718 file_to_del.assign (data_dir + " /aria_log.00000001" );
0 commit comments