#!/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) 2011, 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. getproparg() { val=`svcprop -p $1 $SMF_FMRI` [ -n "$val" ] && echo $val } MYSQLBIN=`getproparg percona-server/bin` MYSQLDATA=`getproparg percona-server/data` PIDFILE=${MYSQLDATA}/`/usr/bin/uname -n`.pid if [ -z $SMF_FMRI ]; then echo "SMF framework variables are not initialized." exit $SMF_EXIT_ERR fi if [ -z ${MYSQLDATA} ]; then echo "percona-server/data property not set" exit $SMF_EXIT_ERR_CONFIG fi if [ ! -d ${MYSQLDATA} ]; then echo "percona-server/data directory ${MYSQLDATA} is not a valid MySQL data directory" exit $SMF_EXIT_ERR_CONFIG fi if [ ! -d ${MYSQLDATA}/mysql ]; then ${MYSQLBIN}/mysqld --initialize --user=mysql --datadir=${MYSQLDATA} fi mysql_start() { MYSQLDVAL=`getproparg percona-server/enable_64bit percona-server:version_57` if [ "$MYSQLDVAL" != "" ] ; then case "$MYSQLDVAL" in true|1) #Check if the system architecture supports 64-bit applications PLATFORM=`isainfo -b` if [ "${PLATFORM}" != "64" ]; then echo "This system is not capable of supporting 64-bit applications." echo "Set the \"enable_64bit\" property value to \"false\" to start the 32-bit server." exit $SMF_EXIT_ERR_CONFIG else echo ${MYSQLBIN}/64/mysqld_safe --user=mysql --datadir=${MYSQLDATA} --pid-file=${PIDFILE} ${MYSQLBIN}/64/mysqld_safe --user=mysql --datadir=${MYSQLDATA} --pid-file=${PIDFILE} > /dev/null & fi ;; false|0) echo ${MYSQLBIN}/mysqld_safe --user=mysql --datadir=${MYSQLDATA} --pid-file=${PIDFILE} ${MYSQLBIN}/mysqld_safe --user=mysql --datadir=${MYSQLDATA} --pid-file=${PIDFILE} > /dev/null & ;; esac fi } case "$1" in 'start') mysql_start ;; *) echo "Usage: $0 start" exit 1 ;; esac exit $SMF_EXIT_OK