mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
87 lines
1.8 KiB
Bash
87 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
|