diff options
author | Sergei Golubchik <sergii@pisem.net> | 2010-11-25 18:17:28 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2010-11-25 18:17:28 +0100 |
commit | 65ca700def99289cc31a7040537f5aa6e12bf485 (patch) | |
tree | 97b3a07299b626c519da0e80c122b5b79b933914 /support-files/mysql.server.sh | |
parent | 2ab57de38d13d927ddff2d51aed4af34e13998f5 (diff) | |
parent | 6e5bcca7935d3c62f84bb640e5357664a210ee12 (diff) | |
download | mariadb-git-65ca700def99289cc31a7040537f5aa6e12bf485.tar.gz |
merge.
checkpoint.
does not compile.
Diffstat (limited to 'support-files/mysql.server.sh')
-rw-r--r-- | support-files/mysql.server.sh | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh index b5115a5c05e..545831f93fc 100644 --- a/support-files/mysql.server.sh +++ b/support-files/mysql.server.sh @@ -78,7 +78,12 @@ else datadir="$basedir/data" fi sbindir="$basedir/sbin" - libexecdir="$basedir/libexec" + if test -f "$basedir/bin/mysqld" + then + libexecdir="$basedir/bin" + else + libexecdir="$basedir/libexec" + fi fi # datadir_set is used to determine if datadir was set (and so should be @@ -130,6 +135,12 @@ parse_server_arguments() { datadir="$basedir/data" fi sbindir="$basedir/sbin" + if test -f "$basedir/bin/mysqld" + then + libexecdir="$basedir/bin" + else + libexecdir="$basedir/libexec" + fi libexecdir="$basedir/libexec" ;; --datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'` @@ -373,10 +384,37 @@ case "$mode" in fi fi ;; - *) + 'configtest') + # Safeguard (relative paths, core dumps..) + cd $basedir + echo $echo_n "Testing MySQL configuration syntax" + daemon=$bindir/mysqld + if test -x $libexecdir/mysqld + then + daemon=$libexecdir/mysqld + elif test -x $sbindir/mysqld + then + daemon=$sbindir/mysqld + elif test -x `which mysqld` + then + daemon=`which mysqld` + else + log_failure_msg "Unable to locate the mysqld binary!" + exit 1 + fi + help_out=`$daemon --help 2>&1`; r=$? + if test "$r" != 0 ; then + log_failure_msg "$help_out" + log_failure_msg "There are syntax errors in the server configuration. Please fix them!" + else + log_success_msg "Syntax OK" + fi + exit $r + ;; + *) # usage basename=`basename "$0"` - echo "Usage: $basename {start|stop|restart|reload|force-reload|status} [ MySQL server options ]" + echo "Usage: $basename {start|stop|restart|reload|force-reload|status|configtest} [ MySQL server options ]" exit 1 ;; esac |