Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- . /lib/svc/share/smf_include.sh
- # Wrapper to call svcprop to fetch instance properties
- getproparg() {
- val=$(svcprop -p $1 $SMF_FMRI)
- [ -n "$val" ] && echo $val
- }
- DB_BASE=/opt/local
- DB_EXEC=${DB_BASE}/libexec
- # Fetch properties configured in the service instance
- DB_DATA_PROP=$(getproparg mysql/datadir)
- DB_DATA=${DB_DATA_PROP:-/var/mysql}
- echo "Setting datadir: ${DB_DATA}"
- LOGFILE_PROP=$(getproparg mysql/logfile)
- LOGFILE=${LOGFILE_PROP:-/var/log/mysql/error.log}
- echo "Setting log-error: ${LOGFILE}"
- DEFAULTS_FILE_PROP=$(getproparg mysql/defaults-file)
- DEFAULTS_FILE=$DEFAULTS_FILE_PROP
- if [[ ! -z "$DEFAULTS_FILE" ]]; then
- echo "Setting defaults-file: ${DEFAULTS_FILE}"
- MYSQL_DEFAULTS_FILE="--defaults-file=${DEFAULTS_FILE}"
- fi
- SKIP_SLAVE_START_PROP=$(getproparg mysql/skip-slave-start)
- SKIP_SLAVE_START=$SKIP_SLAVE_START
- if [[ ! -z "$SKIP_SLAVE_START" ]]; then
- echo "Starting with --skip-slave-start"
- MYSQL_EXTRA_OPTS="${MYSQL_EXTRA_OPTS} --skip-slave-start"
- fi
- MYSQL_EXTRA_OPTS_PROP=$(getpropargmysql/mysql-extra-opts)
- MYSQL_EXTRA_OPTS="${MYSQL_EXTRA_OPTS} ${MYSQL_EXTRA_OPTS_PROP}"
- echo "Setting extra mysql opts: ${MYSQL_EXTRA_OPTS}"
- PIDFILE=${DB_DATA}/mysql.pid
- ulimit -n 10240
- case "$1" in
- start)
- ${DB_EXEC}/mysqld \
- $MYSQL_DEFAULTS_FILE \
- --user=mysql \
- --basedir=${DB_BASE} \
- --datadir=${DB_DATA} \
- --pid-file=${PIDFILE} \
- --log-error=${LOGFILE} \
- $MYSQL_EXTRA_OPTS \
- > /dev/null &
- ;;
- stop)
- if [ -f ${PIDFILE} ]; then
- /usr/bin/kill $(cat ${PIDFILE}) > /dev/null 2>&1
- fi
- ;;
- 'restart')
- stop
- while ps $(cat ${PIDFILE}) > /dev/null 2>&1
- do
- sleep 1
- done
- start
- ;;
- *)
- echo ""
- echo "Usage: `basename $0` { start | stop | restart }"
- echo ""
- exit 64
- ;;
- esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement