Backport of the fix for BUG#40368 "mysqld_safe not honouring underscore same as dash on server options" from 6.0
(revision-id:guilhem@mysql.com-20090505113602-l12kxupeatve18dh). Such bug led "mysqld_safe --core_file_size=#" to not work because mysqld_safe wouldn't recognize that "ulimit -c" is needed; only --core-file-size=# worked. Same for --open_files_limit and other options with _ where mysqld_safe needs to do something more than passing to mysqld. Original fix by Erik Ljungstrom erik at ibiblio dot org ; slightly modified here. Tested on all internally accessible Unix.
This commit is contained in:
parent
6c832ee4bf
commit
27fca0ab17
@ -160,7 +160,13 @@ parse_arguments() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
for arg do
|
for arg do
|
||||||
val=`echo "$arg" | sed -e "s;--[^=]*=;;"`
|
# the parameter after "=", or the whole $arg if no match
|
||||||
|
val=`echo "$arg" | sed -e 's;^--[^=]*=;;'`
|
||||||
|
# what's before "=", or the whole $arg if no match
|
||||||
|
optname=`echo "$arg" | sed -e 's/^\(--[^=]*\)=.*$/\1/'`
|
||||||
|
# replace "_" by "-" ; mysqld_safe must accept "_" like mysqld does.
|
||||||
|
optname_subst=`echo "$optname" | sed 's/_/-/g'`
|
||||||
|
arg=`echo $arg | sed "s/^$optname/$optname_subst/"`
|
||||||
case "$arg" in
|
case "$arg" in
|
||||||
# these get passed explicitly to mysqld
|
# these get passed explicitly to mysqld
|
||||||
--basedir=*) MY_BASEDIR_VERSION="$val" ;;
|
--basedir=*) MY_BASEDIR_VERSION="$val" ;;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user