summaryrefslogtreecommitdiff
path: root/scripts/mysqld_multi.sh
diff options
context:
space:
mode:
authorChad MILLER <chad@mysql.com>2008-11-26 10:51:59 -0500
committerChad MILLER <chad@mysql.com>2008-11-26 10:51:59 -0500
commit0e44a4e94c0ddf2572384ed5daf3e5dc2c37a4e7 (patch)
tree22b5f2780ccb6f32595c8dff41f310735fa8ac54 /scripts/mysqld_multi.sh
parent8dabe40247ba3d76a520cb9b3ba1e17d5f890f2c (diff)
downloadmariadb-git-0e44a4e94c0ddf2572384ed5daf3e5dc2c37a4e7.tar.gz
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.
Diffstat (limited to 'scripts/mysqld_multi.sh')
-rw-r--r--scripts/mysqld_multi.sh5
1 files changed, 5 insertions, 0 deletions
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));