mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Import changeset
This commit is contained in:
123
support-files/mysql.server.sh
Normal file
123
support-files/mysql.server.sh
Normal file
@@ -0,0 +1,123 @@
|
||||
#!/bin/sh
|
||||
# Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
|
||||
# This file is public domain and comes with NO WARRANTY of any kind
|
||||
|
||||
# Mysql daemon start/stop script.
|
||||
|
||||
# Usually this is put in /etc/init.d (at least on machines SYSV R4
|
||||
# based systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/S01mysql.
|
||||
# When this is done the mysql server will be started when the machine is started
|
||||
# and shut down when the systems goes down.
|
||||
|
||||
# Comments to support chkconfig on RedHat Linux
|
||||
# chkconfig: 2345 90 90
|
||||
# description: A very fast and reliable SQL database engine.
|
||||
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||
basedir=@prefix@
|
||||
bindir=@bindir@
|
||||
datadir=@localstatedir@
|
||||
pid_file=@localstatedir@/mysqld.pid
|
||||
log_file=@localstatedir@/mysqld.log
|
||||
# Run mysqld as this user.
|
||||
mysql_daemon_user=@MYSQLD_USER@
|
||||
export PATH
|
||||
|
||||
mode=$1
|
||||
|
||||
if test -w / # determine if we should look at the root config file
|
||||
then # or user config file
|
||||
conf=/etc/my.cnf
|
||||
else
|
||||
conf=$HOME/.my.cnf # Using the users config file
|
||||
fi
|
||||
|
||||
# The following code tries to get the variables safe_mysqld needs from the
|
||||
# config file. This isn't perfect as this ignores groups, but it should
|
||||
# work as the options doesn't conflict with anything else.
|
||||
|
||||
if test -f "$conf" # Extract those fields we need from config file.
|
||||
then
|
||||
if grep "^datadir" $conf >/dev/null
|
||||
then
|
||||
datadir=`grep "^datadir" $conf | cut -f 2 -d= | tr -d ' '`
|
||||
fi
|
||||
if grep "^user" $conf >/dev/null
|
||||
then
|
||||
mysql_daemon_user=`grep "^user" $conf | cut -f 2 -d= | tr -d ' ' | head -1`
|
||||
fi
|
||||
if grep "^pid-file" $conf >/dev/null
|
||||
then
|
||||
pid_file=`grep "^pid-file" $conf | cut -f 2 -d= | tr -d ' '`
|
||||
else
|
||||
if test -d "$datadir"
|
||||
then
|
||||
pid_file=$datadir/`hostname`.pid
|
||||
fi
|
||||
fi
|
||||
if grep "^basedir" $conf >/dev/null
|
||||
then
|
||||
basedir=`grep "^basedir" $conf | cut -f 2 -d= | tr -d ' '`
|
||||
bindir=$basedir/bin
|
||||
fi
|
||||
if grep "^bindir" $conf >/dev/null
|
||||
then
|
||||
bindir=`grep "^bindir" $conf | cut -f 2 -d= | tr -d ' '`
|
||||
fi
|
||||
if grep "^log[ \t]*=" $conf >/dev/null
|
||||
then
|
||||
log_file=`grep "log[ \t]*=" $conf | cut -f 2 -d= | tr -d ' '`
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# Safeguard (relative paths, core dumps..)
|
||||
cd $basedir
|
||||
|
||||
case "$mode" in
|
||||
'start')
|
||||
# Start daemon
|
||||
|
||||
if test -x $bindir/safe_mysqld
|
||||
then
|
||||
# Give extra arguments to mysqld with the my.cnf file. This script may
|
||||
# be overwritten at next upgrade.
|
||||
$bindir/safe_mysqld \
|
||||
--user=$mysql_daemon_user --datadir=$datadir --pid-file=$pid_file --log=$log_file &
|
||||
else
|
||||
echo "Can't execute $bindir/safe_mysqld"
|
||||
fi
|
||||
;;
|
||||
|
||||
'stop')
|
||||
# Stop daemon. We use a signal here to avoid having to know the
|
||||
# root password.
|
||||
if test -f "$pid_file"
|
||||
then
|
||||
mysqld_pid=`cat $pid_file`
|
||||
echo "Killing mysqld with pid $mysqld_pid"
|
||||
kill $mysqld_pid
|
||||
# mysqld should remove the pid_file when it exits, so wait for it.
|
||||
|
||||
sleep 1
|
||||
while [ -s $pid_file -a "$flags" != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ]
|
||||
do [ -z "$flags" ] && echo "Wait for mysqld to exit\c" || echo ".\c"
|
||||
flags=a$flags
|
||||
sleep 1
|
||||
done
|
||||
if [ -s $pid_file ]
|
||||
then echo " gave up waiting!"
|
||||
elif [ -n "$flags" ]
|
||||
then echo " done"
|
||||
fi
|
||||
else
|
||||
echo "No mysqld pid file found. Looked for $pid_file."
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
# usage
|
||||
echo "usage: $0 start|stop"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
Reference in New Issue
Block a user