mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
More changes to mysql.server to make it fit in with the other
tools. support-files/mysql.server.sh: - Look for basedir in /etc/my.cnf if my_print_defaults can't be found - use `@HOSTNAME@`.pid instead of mysqld.pid for pid_file, to match safe_mysqld
This commit is contained in:
@@ -18,10 +18,9 @@
|
|||||||
# in the /etc/my.cnf or other configuration files.
|
# in the /etc/my.cnf or other configuration files.
|
||||||
|
|
||||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||||
|
|
||||||
export PATH
|
export PATH
|
||||||
|
|
||||||
mode=$1
|
mode=$1 # start or stop
|
||||||
|
|
||||||
parse_arguments() {
|
parse_arguments() {
|
||||||
for arg do
|
for arg do
|
||||||
@@ -33,7 +32,7 @@ parse_arguments() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# Get arguments from the my.cfg file, group [mysqld]
|
# Get arguments from the my.cfg file, groups [mysqld] and [mysql_server]
|
||||||
if test -x ./bin/my_print_defaults
|
if test -x ./bin/my_print_defaults
|
||||||
then
|
then
|
||||||
print_defaults="./bin/my_print_defaults"
|
print_defaults="./bin/my_print_defaults"
|
||||||
@@ -44,7 +43,31 @@ elif test -x @bindir@/mysql_print_defaults
|
|||||||
then
|
then
|
||||||
print_defaults="@bindir@/mysql_print_defaults"
|
print_defaults="@bindir@/mysql_print_defaults"
|
||||||
else
|
else
|
||||||
print_defaults="my_print_defaults"
|
# Try to find basedir in /etc/my.cnf
|
||||||
|
conf=/etc/my.cnf
|
||||||
|
print_defaults=
|
||||||
|
if test -r $conf
|
||||||
|
then
|
||||||
|
subpat='^[^=]*basedir[^=]*=\(.*\)$'
|
||||||
|
dirs=`sed -e "/$subpat/!d" -e 's//\1/' $conf`
|
||||||
|
for d in $dirs
|
||||||
|
do
|
||||||
|
d=`echo $d | sed -e 's/[ ]//g'`
|
||||||
|
if test -x "$d/bin/my_print_defaults"
|
||||||
|
then
|
||||||
|
print_defaults="$d/bin/my_print_defaults"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
if test -x "$d/bin/mysql_print_defaults"
|
||||||
|
then
|
||||||
|
print_defaults="$d/bin/mysql_print_defaults"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Hope it's in the PATH ... but I doubt it
|
||||||
|
test -z "$print_defaults" && print_defaults="my_print_defaults"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
datadir=@localstatedir@
|
datadir=@localstatedir@
|
||||||
@@ -61,7 +84,7 @@ else
|
|||||||
fi
|
fi
|
||||||
if test -z "$pid_file"
|
if test -z "$pid_file"
|
||||||
then
|
then
|
||||||
pid_file=$datadir/mysqld.pid
|
pid_file=$datadir/`@HOSTNAME@`.pid
|
||||||
else
|
else
|
||||||
case "$pid_file" in
|
case "$pid_file" in
|
||||||
/* ) ;;
|
/* ) ;;
|
||||||
@@ -103,9 +126,10 @@ case "$mode" in
|
|||||||
|
|
||||||
sleep 1
|
sleep 1
|
||||||
while [ -s $pid_file -a "$flags" != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ]
|
while [ -s $pid_file -a "$flags" != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ]
|
||||||
do [ -z "$flags" ] && echo "Wait for mysqld to exit\c" || echo ".\c"
|
do
|
||||||
flags=a$flags
|
[ -z "$flags" ] && echo "Wait for mysqld to exit\c" || echo ".\c"
|
||||||
sleep 1
|
flags=a$flags
|
||||||
|
sleep 1
|
||||||
done
|
done
|
||||||
if [ -s $pid_file ]
|
if [ -s $pid_file ]
|
||||||
then echo " gave up waiting!"
|
then echo " gave up waiting!"
|
||||||
|
Reference in New Issue
Block a user