diff --git a/server-tools/instance-manager/instance_options.cc b/server-tools/instance-manager/instance_options.cc index d2946270b9e..06a6e1ebc63 100644 --- a/server-tools/instance-manager/instance_options.cc +++ b/server-tools/instance-manager/instance_options.cc @@ -132,7 +132,7 @@ int Instance_options::fill_instance_version() bzero(result, MAX_VERSION_STRING_LENGTH); - rc= parse_output_and_get_value(cmd.buffer, mysqld_path, + rc= parse_output_and_get_value(cmd.buffer, "Ver", result, MAX_VERSION_STRING_LENGTH, GET_LINE); diff --git a/server-tools/instance-manager/parse_output.cc b/server-tools/instance-manager/parse_output.cc index ebc45c1f7d4..64bb6a6485f 100644 --- a/server-tools/instance-manager/parse_output.cc +++ b/server-tools/instance-manager/parse_output.cc @@ -96,14 +96,14 @@ int parse_output_and_get_value(const char *command, const char *word, linebuf[sizeof(linebuf) - 1]= '\0'; /* safety */ /* - Compare the start of our line with the word(s) we are looking for. + Find the word(s) we are looking for in the line */ - if (!strncmp(word, linep, wordlen)) + if ((linep= strstr(linep, word))) { /* If we have found our word(s), then move linep past the word(s) */ - linep+= wordlen; + linep+= wordlen; if (flag & GET_VALUE) { trim_space((const char**) &linep, &found_word_len); diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 71067630535..b64f6a88d44 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -6864,6 +6864,10 @@ SHOW_VAR status_vars[]= { static void print_version(void) { set_server_version(); + /* + Note: the instance manager keys off the string 'Ver' so it can find the + version from the output of 'mysqld --version', so don't change it! + */ printf("%s Ver %s for %s on %s (%s)\n",my_progname, server_version,SYSTEM_TYPE,MACHINE_TYPE, MYSQL_COMPILATION_COMMENT); }