diff options
author | Mats Kindahl <mats@sun.com> | 2010-03-01 23:40:24 +0100 |
---|---|---|
committer | Mats Kindahl <mats@sun.com> | 2010-03-01 23:40:24 +0100 |
commit | 5c8d6c7473d2b7fad7dd9ded24e686450b7fbb8a (patch) | |
tree | a971109f380c8769184e0c5bcc3ef16927e40ccf /scripts | |
parent | 7a83782f1caa102ebc552b017885f18f005425f0 (diff) | |
download | mariadb-git-5c8d6c7473d2b7fad7dd9ded24e686450b7fbb8a.tar.gz |
Bug #49022: Plugins included into bin release cannot be
installed on debug version of server
When starting a server using mysqld_safe with the option
--mysqld-version=debug, the debug version of the server
is started. When attempting to load a plugin that is not
debug-built, the load will fail because a non-debug built
plugin use, e.g., fastmutex while the debug-built server
uses safemutex.
To solve this problem, mysqld_safe will set the plugin-dir
to use a directory where debug-built plugins are placed.
This patch sets the plugin dir to <plugin-dir>/whatever,
when mysqld-version=whatever, and just <plugin-dir> otherwise.
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/mysqld_safe.sh | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/scripts/mysqld_safe.sh b/scripts/mysqld_safe.sh index f08e870d5e0..a4ce5f9575b 100644 --- a/scripts/mysqld_safe.sh +++ b/scripts/mysqld_safe.sh @@ -54,6 +54,8 @@ Usage: $0 [OPTIONS] --mysqld=FILE Use the specified file as mysqld --mysqld-version=VERSION Use "mysqld-VERSION" as mysqld --nice=NICE Set the scheduling priority of mysqld + --plugin-dir=DIR Plugins are under DIR or DIR/VERSION, if + VERSION is given --skip-kill-mysqld Don't try to kill stray mysqld processes --syslog Log messages to syslog with 'logger' --skip-syslog Log messages to error log (default) @@ -172,6 +174,7 @@ parse_arguments() { --basedir=*) MY_BASEDIR_VERSION="$val" ;; --datadir=*) DATADIR="$val" ;; --pid-file=*) pid_file="$val" ;; + --plugin-dir=*) PLUGIN_DIR="$val" ;; --user=*) user="$val"; SET_USER=1 ;; # these might have been set in a [mysqld_safe] section of my.cnf @@ -189,6 +192,7 @@ parse_arguments() { if test -n "$val" then MYSQLD="mysqld-$val" + PLUGIN_VARIANT="/$val" else MYSQLD="mysqld" fi @@ -695,8 +699,10 @@ fi cmd="`mysqld_ld_preload_text`$NOHUP_NICENESS" +plugin_dir="${PLUGIN_DIR:-@PLUGINDIR@}${PLUGIN_VARIANT}" + for i in "$ledir/$MYSQLD" "$defaults" "--basedir=$MY_BASEDIR_VERSION" \ - "--datadir=$DATADIR" "$USER_OPTION" + "--datadir=$DATADIR" "--plugin-dir=$plugin_dir" "$USER_OPTION" do cmd="$cmd "`shell_quote_string "$i"` done |