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