….
# Run as user
MMMD_USER='mmmd'
….
# Paths
if [ "$CLUSTER" != "" ]; then
MMMD_MON_BIN="/usr/sbin/mmmd_mon @$CLUSTER"
MMMD_MON_PIDFILE="/var/run/mmmd/mmmd_mon-$CLUSTER.pid"
else
MMMD_MON_BIN="/usr/sbin/mmmd_mon"
MMMD_MON_PIDFILE="/var/run/mmmd/mmmd_mon.pid"
fi
….
sudo -u $MMMD_USER "$MMMD_MON_BIN"
….
Why is the code not looking at the config file (mmm_mon.conf:pid_path) to find the pid path. I don't think the pid pah should be hard coded if you have it available in the mmm_mon.conf.
Started testing 2.0.7 with the following changes on linux (seems ok after a few hours):
RUN AS DIFFERENT USER
## NOTE Net::ARP can only function when called with UID 0, so only root can run the agents
a, Monitor node
# useradd -s /bin/false -d / mmmd
# chown -R mmmd:mmmd /etc/mysql-mmm/
# mkdir /var/run/mmmd
# chown mmmd:mmmd /var/run/mmmd
# chmod o-rwx /var/run/mmmd/
# chown -R mmmd:mmmd /var/log/mysql-mmm/
# mkdir /var/lib/misc/mmmd
# chown mmmd:mmmd /var/lib/misc/mmmd
# chmod o-rwx /var/lib/misc/mmmd
/etc/init. d/mysql- mmm-monitor
…. MON_BIN= "/usr/sbin/ mmmd_mon @$CLUSTER" MON_PIDFILE= "/var/run/ mmmd/mmmd_ mon-$CLUSTER. pid" MON_BIN= "/usr/sbin/ mmmd_mon" MON_PIDFILE= "/var/run/ mmmd/mmmd_ mon.pid"
# Run as user
MMMD_USER='mmmd'
….
# Paths
if [ "$CLUSTER" != "" ]; then
MMMD_
MMMD_
else
MMMD_
MMMD_
fi
….
sudo -u $MMMD_USER "$MMMD_MON_BIN"
….