mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
Bug #20376 Doesn't auto-detect data dir
This changeset fixes the problem where mysql, when run as a service, can't "detect" it's own data directory. sql/mysqld.cc: When running on Windows we check to see if we have a hard path in my_progname. If not, then we use GetModuleFilename to get the full path for the executing module. This allows the program to determine where it's at when running as a service.
This commit is contained in:
parent
7802123013
commit
73fb1aed61
1 changed files with 12 additions and 0 deletions
|
@ -7333,6 +7333,18 @@ static void mysql_init_variables(void)
|
|||
/* Allow Win32 and NetWare users to move MySQL anywhere */
|
||||
{
|
||||
char prg_dev[LIBLEN];
|
||||
#if defined __WIN__
|
||||
char executing_path_name[LIBLEN];
|
||||
if (!test_if_hard_path(my_progname))
|
||||
{
|
||||
// we don't want to use GetModuleFileName inside of my_path since
|
||||
// my_path is a generic path dereferencing function and here we care
|
||||
// only about the executing binary.
|
||||
GetModuleFileName(NULL, executing_path_name, sizeof(executing_path_name));
|
||||
my_path(prg_dev, executing_path_name, NULL);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
my_path(prg_dev,my_progname,"mysql/bin");
|
||||
strcat(prg_dev,"/../"); // Remove 'bin' to get base dir
|
||||
cleanup_dirname(mysql_home,prg_dev);
|
||||
|
|
Loading…
Reference in a new issue