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