From 73c2d4ad498890c2ba2cfa9a2c20fae4d37b1859 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 10 Mar 2003 12:24:22 +0200 Subject: [PATCH] Don't allow multiple --user options to mysqld (First one is used) scripts/safe_mysqld.sh: Don't allow multiple --user options sql/mysqld.cc: Don't allow multiple --user options --- scripts/safe_mysqld.sh | 8 ++++++-- sql/mysqld.cc | 5 ++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/scripts/safe_mysqld.sh b/scripts/safe_mysqld.sh index c1b231eb001..a8ca3537cb3 100644 --- a/scripts/safe_mysqld.sh +++ b/scripts/safe_mysqld.sh @@ -33,8 +33,12 @@ parse_arguments() { --basedir=*) MY_BASEDIR_VERSION=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;; --datadir=*) DATADIR=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;; --pid-file=*) pid_file=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;; - --user=*) user=`echo "$arg" | sed -e "s;--[^=]*=;;"` ; SET_USER=1 ;; - + --user=*) + if [ $SET_USER == 0 ] + then + user=`echo "$arg" | sed -e "s;--[^=]*=;;"` ; SET_USER=1 + fi + ;; # these two might have been set in a [safe_mysqld] section of my.cnf # they get passed via environment variables to safe_mysqld --socket=*) MYSQL_UNIX_PORT=`echo "$arg" | sed -e "s;--[^=]*=;;"` ;; diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 0ca8659e7f6..83933e6e8ad 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -3639,7 +3639,10 @@ static void get_options(int argc,char **argv) use_temp_pool=1; break; case 'u': - mysqld_user=optarg; + if (!mysqld_user) + mysqld_user=optarg; + else + fprintf(stderr, "Warning: Ignoring user change to '%s' becasue the user is set to '%s' earlier on the command line\n", optarg, mysqld_user); break; case 'v': case 'V':