From 00c299a886f133ef1cd5e9b1895a8a3bb9131a23 Mon Sep 17 00:00:00 2001
From: Chad MILLER <chad@mysql.com>
Date: Wed, 26 Nov 2008 10:51:59 -0500
Subject: [PATCH] Bug#32136: mysqld_multi --defaults-file not respected while
 using \               --mysqld=mysqld_safe

The server run didn't know the correct section to read in a
configuration file, and would read from "[mysqld]" even though
mysqld_multi had already read the defaults and made them into explicit
parameters.

Worse, the "defaults-file" parameter says that it means "Read only
this configuration file, do not read the standard system-wide and
user-specific files", which should apply not only to mysql-multi, but
to the server also.

So, now if "defaults-file" is given, put "no-defaults" before all the
explicit parameters we read from the defaults-file and feed to the
mysqld or mysqld_safe.
---
 scripts/mysqld_multi.sh | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh
index 3cb4665eb1c..631e1e38cc7 100644
--- a/scripts/mysqld_multi.sh
+++ b/scripts/mysqld_multi.sh
@@ -293,7 +293,12 @@ sub start_mysqlds()
   @groups = &find_groups($groupids);
   for ($i = 0; defined($groups[$i]); $i++)
   {
+    # Defaults are made explicit parameters to server execution...
     @options = defaults_for_group($groups[$i]);
+    # ...so server MUST NOT try to read again from some config file, especially
+    # as the "right" file may be unknown to the server if we are using
+    # --defaults-file=... params in here.
+    unshift(@options,"--no-defaults");  
 
     $mysqld_found= 1; # The default
     $mysqld_found= 0 if (!length($mysqld));
-- 
2.30.9