Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37906397
en ru br
ALT Linux repos
S:0.3-alt1

Group :: System/Servers
RPM: MySQL-server-control

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

#!/bin/sh

. /etc/control.d/functions

if [ -f /var/lib/mysql/my.cnf ] ; then
CONFIG=/var/lib/mysql/my.cnf
else
CONFIG=/etc/my.cnf
fi

BINARY=/usr/sbin/mysqld

[ -r $CONFIG ] || exit 1

pmysqldfirst='/^\[mysqld\]$/'
pmysqld="$pmysqldfirst,/^\[/"

checkoption()
{
local option=$1
sed -rn "${pmysqld}p" $CONFIG \
| grep -Eq "^[[:space:]]*$option[[:space:]]*\$"
}

unsetoption()
{
local option=$1
if checkoption $option; then
sed -ri "$pmysqld{
s/([[:space:]]*$option[[:space:]]*)\$/#\\1/
}" $CONFIG
fi
}

setoption()
{
local option=$1
if ! checkoption $option; then
if checkoption "#[[:space:]]*$option"; then
sed -ri "$pmysqld{
s/[[:space:]]*#([[:space:]]*$option[[:space:]]*)\$/\\1/
}" $CONFIG
else
sed -ri "$pmysqldfirst{
a \
$option
}" $CONFIG
fi
fi
}

getstatus()
{
local snet=
local sgrant=

if checkoption "skip-networking"; then
snet="nonet"
else
snet="net"
fi

if checkoption "skip-grant-tables"; then
sgrant="nogrant"
else
sgrant="grant"
fi

echo "$sgrant$snet"
}

register grantnet
register grantnonet
register nograntnonet
register nograntnet

new_help grantnet "For $BINARY does not use parameters skip-grant-tables and skip-networking"
new_help grantnonet "Parameter is used to $BINARY skip-networking, skip-grant-tables is not used"
new_help nograntnonet "Parameters used for $BINARY skip-grant-tables and skip-networking"
new_help nograntnet "Parameter is used to $BINARY skip-grant-tables, skip-networking is not used"

new_summary "The management of the parameters skip-grant-tables and skip-networking for mysqld"

case "$*" in
status|'')
getstatus
;;
grantnet)
unsetoption "skip-grant-tables"
unsetoption "skip-networking"
;;
grantnonet)
unsetoption "skip-grant-tables"
setoption "skip-networking"
;;
nograntnonet)
setoption "skip-grant-tables"
setoption "skip-networking"
;;
nograntnet)
setoption "skip-grant-tables"
unsetoption "skip-networking"
;;
*)
control_subst "$CONFIG" "$*"
;;
esac
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin