diff -r 2f08fe812455 -r 497cdd942859 components/mysql-5-5/Solaris/mysql_55 --- a/components/mysql-5-5/Solaris/mysql_55 Sat Dec 17 22:06:01 2016 -0800 +++ b/components/mysql-5-5/Solaris/mysql_55 Sun Dec 18 20:43:50 2016 -0800 @@ -40,7 +40,6 @@ MYSQLCNF=`getproparg mysql/cnf` MYSQLBIN=`getproparg mysql/bin` MYSQLDATA=`getproparg mysql/data` -PIDFILE=${MYSQLDATA}/`/usr/bin/uname -n`.pid STARTTIMEOUT=180 if [ -z ${MYSQLCNF} ]; then @@ -68,6 +67,24 @@ ${MYSQLBIN}/mysql_install_db --user=mysql --datadir=${MYSQLDATA} fi + +getpidfile() { + ret=$(${MYSQLBIN}/my_print_defaults --defaults-file=${MYSQLCNF} \ + mysqld | grep '^--pid-file=' | cut -d= -f2- | tail -1) + [ -z "$ret" ] && ret="${MYSQLDATA}/$(/usr/bin/uname -n).pid" + echo $ret +} + +getsockfile() { + ret=$(${MYSQLBIN}/my_print_defaults --defaults-file=${MYSQLCNF} \ + mysqld | grep '^--socket=' | cut -d= -f2- | tail -1) + [ -z "$ret" ] && ret="/tmp/mysql.sock" + echo $ret +} + +PIDFILE=$(getpidfile) +SOCKFILE=$(getsockfile) + # ping function which return success when mysqld starts accepting connections # or return failure in case of timeout after $STARTTIMEOUT seconds. # using this function in mysql_start(), method waits/blocks to mysqld is really ready, @@ -79,7 +96,7 @@ ret=0 while [ $timer -gt 0 ]; do sleep 1 - ${MYSQLBIN}/mysqladmin --no-defaults --socket="/tmp/mysql.sock" --user=UNKNOWN_MYSQL_USER ping >/dev/null 2>&1 && break + ${MYSQLBIN}/mysqladmin --no-defaults --socket=${SOCKFILE} --user=UNKNOWN_MYSQL_USER ping >/dev/null 2>&1 && break timer=$(expr $timer - 1) # Check if mysqld_safe is still alive, if not there is no hope