equal
deleted
inserted
replaced
38 } |
38 } |
39 |
39 |
40 MYSQLCNF=`getproparg mysql/cnf` |
40 MYSQLCNF=`getproparg mysql/cnf` |
41 MYSQLBIN=`getproparg mysql/bin` |
41 MYSQLBIN=`getproparg mysql/bin` |
42 MYSQLDATA=`getproparg mysql/data` |
42 MYSQLDATA=`getproparg mysql/data` |
43 PIDFILE=${MYSQLDATA}/`/usr/bin/uname -n`.pid |
|
44 STARTTIMEOUT=180 |
43 STARTTIMEOUT=180 |
45 |
44 |
46 if [ -z ${MYSQLCNF} ]; then |
45 if [ -z ${MYSQLCNF} ]; then |
47 echo "mysql/cnf property not set" |
46 echo "mysql/cnf property not set" |
48 exit $SMF_EXIT_ERR_CONFIG |
47 exit $SMF_EXIT_ERR_CONFIG |
66 if [ ! -d ${MYSQLDATA}/mysql ]; then |
65 if [ ! -d ${MYSQLDATA}/mysql ]; then |
67 echo ${MYSQLBIN}/mysql_install_db --user=mysql --datadir=${MYSQLDATA} --defaults-file=${MYSQLCNF} |
66 echo ${MYSQLBIN}/mysql_install_db --user=mysql --datadir=${MYSQLDATA} --defaults-file=${MYSQLCNF} |
68 ${MYSQLBIN}/mysql_install_db --user=mysql --datadir=${MYSQLDATA} --defaults-file=${MYSQLCNF} |
67 ${MYSQLBIN}/mysql_install_db --user=mysql --datadir=${MYSQLDATA} --defaults-file=${MYSQLCNF} |
69 fi |
68 fi |
70 |
69 |
|
70 getpidfile() { |
|
71 ret=$(${MYSQLBIN}/my_print_defaults --defaults-file=${MYSQLCNF} \ |
|
72 mysqld | grep '^--pid-file=' | cut -d= -f2- | tail -1) |
|
73 [ -z "$ret" ] && ret="${MYSQLDATA}/$(/usr/bin/uname -n).pid" |
|
74 echo $ret |
|
75 } |
|
76 |
|
77 getsockfile() { |
|
78 ret=$(${MYSQLBIN}/my_print_defaults --defaults-file=${MYSQLCNF} \ |
|
79 mysqld | grep '^--socket=' | cut -d= -f2- | tail -1) |
|
80 [ -z "$ret" ] && ret="/tmp/mysql.sock" |
|
81 echo $ret |
|
82 } |
|
83 |
|
84 PIDFILE=$(getpidfile) |
|
85 SOCKFILE=$(getsockfile) |
|
86 |
71 # ping function which return success when mysqld starts accepting connections |
87 # ping function which return success when mysqld starts accepting connections |
72 # or return failure in case of timeout after $STARTTIMEOUT seconds. |
88 # or return failure in case of timeout after $STARTTIMEOUT seconds. |
73 # using this function in mysql_start(), method waits/blocks to mysqld is really ready, |
89 # using this function in mysql_start(), method waits/blocks to mysqld is really ready, |
74 # which might take some time in case of recovery. |
90 # which might take some time in case of recovery. |
75 |
91 |
77 mysqld_safe_pid=$1 |
93 mysqld_safe_pid=$1 |
78 timer=$STARTTIMEOUT |
94 timer=$STARTTIMEOUT |
79 ret=0 |
95 ret=0 |
80 while [ $timer -gt 0 ]; do |
96 while [ $timer -gt 0 ]; do |
81 sleep 1 |
97 sleep 1 |
82 ${MYSQLBIN}/mysqladmin --no-defaults --socket="/tmp/mysql.sock" --user=UNKNOWN_MYSQL_USER ping >/dev/null 2>&1 && break |
98 ${MYSQLBIN}/mysqladmin --no-defaults --socket=${SOCKFILE} --user=UNKNOWN_MYSQL_USER ping >/dev/null 2>&1 && break |
83 timer=$(expr $timer - 1) |
99 timer=$(expr $timer - 1) |
84 |
100 |
85 # Check if mysqld_safe is still alive, if not there is no hope |
101 # Check if mysqld_safe is still alive, if not there is no hope |
86 if ! kill -0 $mysqld_safe_pid >/dev/null 2>&1 ; then |
102 if ! kill -0 $mysqld_safe_pid >/dev/null 2>&1 ; then |
87 ret=1 |
103 ret=1 |