components/mysql-5-7/Solaris/mysql_57
changeset 7506 497cdd942859
parent 6277 073d7b623ddf
equal deleted inserted replaced
7505:2f08fe812455 7506:497cdd942859
    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