diff -r edb1ea7d72bc -r 5bcc30d62913 components/mysql-5-6/Solaris/mysql_56 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/mysql-5-6/Solaris/mysql_56 Thu Apr 23 21:31:59 2015 -0700 @@ -0,0 +1,91 @@ +#!/sbin/sh +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# +# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +# + +. /lib/svc/share/smf_include.sh + +# SMF_FMRI is the name of the target service. This allows multiple instances +# to use the same script. + +if [ -z $SMF_FMRI ]; then + echo "SMF framework variables are not initialized." + exit $SMF_EXIT_ERR +fi + +getproparg() { + val=`svcprop -p $1 $SMF_FMRI` + [ -n "$val" ] && echo $val +} + +MYSQLCNF=`getproparg mysql/cnf` +MYSQLBIN=`getproparg mysql/bin` +MYSQLDATA=`getproparg mysql/data` +PIDFILE=${MYSQLDATA}/`/usr/bin/uname -n`.pid + +if [ -z ${MYSQLCNF} ]; then + echo "mysql/cnf property not set" + exit $SMF_EXIT_ERR_CONFIG +fi + +if [ -z ${MYSQLBIN} ]; then + echo "mysql/bin property not set" + exit $SMF_EXIT_ERR_CONFIG +fi + +if [ -z ${MYSQLDATA} ]; then + echo "mysql/data property not set" + exit $SMF_EXIT_ERR_CONFIG +fi + +if [ ! -d ${MYSQLDATA} ]; then + echo "mysql/data directory ${MYSQLDATA} is not a valid MySQL data directory" + exit $SMF_EXIT_ERR_CONFIG +fi + +if [ ! -d ${MYSQLDATA}/mysql ]; then + echo ${MYSQLBIN}/mysql_install_db --user=mysql --datadir=${MYSQLDATA} + ${MYSQLBIN}/mysql_install_db --user=mysql --datadir=${MYSQLDATA} +fi + +# refresh method for this service is not defined because mysqld by itself +# cannot accept a HUP signal to reload the configuration file my.cnf + +mysql_start() { + echo ${MYSQLBIN}/mysqld_safe --defaults-file=${MYSQLCNF} --user=mysql --datadir=${MYSQLDATA} --pid-file=${PIDFILE} + ${MYSQLBIN}/mysqld_safe --defaults-file=${MYSQLCNF} --user=mysql --datadir=${MYSQLDATA} --pid-file=${PIDFILE} > /dev/null & + +} + + +case "$1" in +'start') + mysql_start + ;; + +*) + echo "Usage: $0 start" + exit 1 + ;; + +esac +exit $SMF_EXIT_OK