MWL#55: mysql_upgrade_service.exe will now ensure that datadir is always written to my.ini file

This commit is contained in:
Vladislav Vaintroub 2011-02-08 12:05:16 +01:00
parent e3b05c79c6
commit 47c776bc4c

View File

@ -339,6 +339,8 @@ static void change_service_config()
char defaults_file[MAX_PATH];
char default_character_set[64];
char buf[MAX_PATH];
int i;
scm = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if(!scm)
@ -376,24 +378,21 @@ static void change_service_config()
/*
Weird case, no --defaults-file in service definition, need to create one.
*/
char buf[MAX_PATH];
int i;
sprintf_s(props.inifile, MAX_PATH, "%s\\my.ini", props.datadir);
/*
Write datadir to my.ini, after converting backslashes to
unix style slashes.
*/
strcpy_s(buf, MAX_PATH, props.datadir);
for(i=0; buf[i]; i++)
{
if (buf[i] == '\\')
buf[i]= '/';
}
WritePrivateProfileString("mysqld", "datadir",buf, props.inifile);
}
/*
Write datadir to my.ini, after converting backslashes to
unix style slashes.
*/
strcpy_s(buf, MAX_PATH, props.datadir);
for(i=0; buf[i]; i++)
{
if (buf[i] == '\\')
buf[i]= '/';
}
WritePrivateProfileString("mysqld", "datadir",buf, props.inifile);
/*
Remove basedir from defaults file, otherwise the service wont come up in
the new version, and will complain about mismatched message file.