mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Fix for problem of installing MySQL as a service with
mysql --install mysql --defualts-file=path-to-file (Bug #1643)
This commit is contained in:
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
#if defined(__WIN__) && !defined( _CUSTOMCONFIG_)
|
#if defined(__WIN__) && !defined( _CUSTOMCONFIG_)
|
||||||
#define MYSQL_NAMEDPIPE "MySQL"
|
#define MYSQL_NAMEDPIPE "MySQL"
|
||||||
#define MYSQL_SERVICENAME "MySql"
|
#define MYSQL_SERVICENAME "mysqld"
|
||||||
#endif /* __WIN__ */
|
#endif /* __WIN__ */
|
||||||
|
|
||||||
enum enum_server_command {
|
enum enum_server_command {
|
||||||
|
@ -1958,7 +1958,7 @@ extern "C" pthread_handler_decl(handle_shutdown,arg)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
const char *load_default_groups[]= { "mysqld","server",MYSQL_BASE_VERSION,0 };
|
const char *load_default_groups[]= { "mysqld","server",MYSQL_BASE_VERSION,0,0};
|
||||||
|
|
||||||
bool open_log(MYSQL_LOG *log, const char *hostname,
|
bool open_log(MYSQL_LOG *log, const char *hostname,
|
||||||
const char *opt_name, const char *extension,
|
const char *opt_name, const char *extension,
|
||||||
@ -2561,7 +2561,7 @@ default_service_handling(char **argv,
|
|||||||
const char *extra_opt)
|
const char *extra_opt)
|
||||||
{
|
{
|
||||||
char path_and_service[FN_REFLEN+FN_REFLEN+32], *pos, *end;
|
char path_and_service[FN_REFLEN+FN_REFLEN+32], *pos, *end;
|
||||||
end= path_and_service + sizeof(path_and_service)-1;
|
end= path_and_service + sizeof(path_and_service)-3;
|
||||||
|
|
||||||
/* We have to quote filename if it contains spaces */
|
/* We have to quote filename if it contains spaces */
|
||||||
pos= add_quoted_string(path_and_service, file_path, end);
|
pos= add_quoted_string(path_and_service, file_path, end);
|
||||||
@ -2571,7 +2571,9 @@ default_service_handling(char **argv,
|
|||||||
*pos++= ' ';
|
*pos++= ' ';
|
||||||
pos= add_quoted_string(pos, extra_opt, end);
|
pos= add_quoted_string(pos, extra_opt, end);
|
||||||
}
|
}
|
||||||
*pos= 0; // Ensure end null
|
/* We must have servicename last */
|
||||||
|
*pos++= ' ';
|
||||||
|
strmake(pos, servicename, (uint) (end+2 - pos));
|
||||||
|
|
||||||
if (Service.got_service_option(argv, "install"))
|
if (Service.got_service_option(argv, "install"))
|
||||||
{
|
{
|
||||||
@ -2616,7 +2618,7 @@ int main(int argc, char **argv)
|
|||||||
if (Service.IsService(argv[1]))
|
if (Service.IsService(argv[1]))
|
||||||
{
|
{
|
||||||
/* start an optional service */
|
/* start an optional service */
|
||||||
load_default_groups[0]= argv[1];
|
load_default_groups[3]= argv[1];
|
||||||
start_mode= 1;
|
start_mode= 1;
|
||||||
Service.Init(argv[1], mysql_service);
|
Service.Init(argv[1], mysql_service);
|
||||||
return 0;
|
return 0;
|
||||||
@ -2624,8 +2626,7 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
else if (argc == 3) /* install or remove any optional service */
|
else if (argc == 3) /* install or remove any optional service */
|
||||||
{
|
{
|
||||||
if (!default_service_handling(argv, argv[2], argv[2], file_path,
|
if (!default_service_handling(argv, argv[2], argv[2], file_path, ""))
|
||||||
argv[2]))
|
|
||||||
return 0;
|
return 0;
|
||||||
if (Service.IsService(argv[2]))
|
if (Service.IsService(argv[2]))
|
||||||
{
|
{
|
||||||
@ -2637,6 +2638,7 @@ int main(int argc, char **argv)
|
|||||||
opt_argc= 2; // Skip service-name
|
opt_argc= 2; // Skip service-name
|
||||||
opt_argv=argv;
|
opt_argv=argv;
|
||||||
start_mode= 1;
|
start_mode= 1;
|
||||||
|
load_default_groups[3]= argv[2];
|
||||||
Service.Init(argv[2], mysql_service);
|
Service.Init(argv[2], mysql_service);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user