mariadb/support-files/mysql.server-sys5.sh
monty@donna.mysql.com be5e4e72b6 Small bug fixes
2000-09-07 04:55:17 +03:00

86 lines
1.8 KiB
Bash

#!/bin/sh
#
# This is an example SysV-init-script by Winfried Truemper that you can use
# and modify to your liking
#
PATH="$PATH:@prefix@"
export PATH
MY_CFG="@prefix@/mysql.cfg"
read_mysql_config() {
# this routine requires a sed, which reads even the last line of input
MY_CONFIG_FILE="$1" # file to read setting from
MY_CONFIG_SECTION="$2" # section inside the file
MY_CONFIG_TAG="$3" # name of the setting inside the section
TAB=`printf "\t" ""` # makes the code cut&paste safe
sed -n -f - "$MY_CONFIG_FILE" <<EOF
1,/^\[$MY_CONFIG_SECTION\]/ d
/^\[[a-z]/ q
/^$MY_CONFIG_TAG/ {
s/^$MY_CONFIG_TAG[ $TAB]*=[ $TAB]*\([^ $TAB]*\)/\1/
p
q
}
EOF
}
do_start() {
nohup ./bin/mysqld --defaults-file="$MY_CFG" &
}
do_stop() {
./bin/mysqladmin --defaults-file="$MY_CFG" shutdown
}
do_kill_all() {
PIDS=`ps -efo pid,args | grep mysql | sed -e "s, *.*,," | sort | uniq`
kill $PIDS
sleep 5
kill -9 $PIDS
}
do_kill() {
MY_PIDFILE=`read_mysql_config "$MY_CFG" "mysqld" "pidfile" `
read MY_PID < "$MY_PIDFILE"
kill "$MY_PID"
sleep 2
kill -KILL "$MY_PID"
}
# z.B. mysql.sh admin "ping"
do_admin() {
shift
./bin/mysqladmin --defaults-file="$MY_CFG" $@
exit
}
do_repair() {
MY_DATADIR=`read_mysql_config "$MY_CFG" "mysqld" "datadir" `
./bin/isamchk --defaults-file="$MY_CFG" --repair "$MY_DATADIR/$1"
shift
}
do_repair_all() {
MY_DATADIR=`read_mysql_config "$MY_CFG" "mysqld" "datadir" `
for i in `find "$MY_DATADIR" -name "*.ISM"`
do
./bin/isamchk --defaults-file="$MY_CFG" --repair "$MY_DATADIR/$i"
done
}
MY_BASEDIR=`read_mysql_config "$MY_CFG" "mysqld" "basedir"`
cd "$MY_BASEDIR" || exit 1
while test $# -gt 0
do
MY_ARG="$1"
do_$MY_ARG $@
shift
done