Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. . /lib/svc/share/smf_include.sh
  4.  
  5. # Wrapper to call svcprop to fetch instance properties
  6. getproparg() {
  7. val=$(svcprop -p $1 $SMF_FMRI)
  8. [ -n "$val" ] && echo $val
  9. }
  10.  
  11. DB_BASE=/opt/local
  12. DB_EXEC=${DB_BASE}/libexec
  13.  
  14. # Fetch properties configured in the service instance
  15. DB_DATA_PROP=$(getproparg mysql/datadir)
  16. DB_DATA=${DB_DATA_PROP:-/var/mysql}
  17. echo "Setting datadir: ${DB_DATA}"
  18.  
  19. LOGFILE_PROP=$(getproparg mysql/logfile)
  20. LOGFILE=${LOGFILE_PROP:-/var/log/mysql/error.log}
  21. echo "Setting log-error: ${LOGFILE}"
  22.  
  23. DEFAULTS_FILE_PROP=$(getproparg mysql/defaults-file)
  24. DEFAULTS_FILE=$DEFAULTS_FILE_PROP
  25. if [[ ! -z "$DEFAULTS_FILE" ]]; then
  26. echo "Setting defaults-file: ${DEFAULTS_FILE}"
  27. MYSQL_DEFAULTS_FILE="--defaults-file=${DEFAULTS_FILE}"
  28. fi
  29.  
  30. SKIP_SLAVE_START_PROP=$(getproparg mysql/skip-slave-start)
  31. SKIP_SLAVE_START=$SKIP_SLAVE_START
  32. if [[ ! -z "$SKIP_SLAVE_START" ]]; then
  33. echo "Starting with --skip-slave-start"
  34. MYSQL_EXTRA_OPTS="${MYSQL_EXTRA_OPTS} --skip-slave-start"
  35. fi
  36.  
  37. MYSQL_EXTRA_OPTS_PROP=$(getpropargmysql/mysql-extra-opts)
  38. MYSQL_EXTRA_OPTS="${MYSQL_EXTRA_OPTS} ${MYSQL_EXTRA_OPTS_PROP}"
  39. echo "Setting extra mysql opts: ${MYSQL_EXTRA_OPTS}"
  40.  
  41.  
  42. PIDFILE=${DB_DATA}/mysql.pid
  43.  
  44. ulimit -n 10240
  45.  
  46. case "$1" in
  47. start)
  48. ${DB_EXEC}/mysqld \
  49. $MYSQL_DEFAULTS_FILE \
  50. --user=mysql \
  51. --basedir=${DB_BASE} \
  52. --datadir=${DB_DATA} \
  53. --pid-file=${PIDFILE} \
  54. --log-error=${LOGFILE} \
  55. $MYSQL_EXTRA_OPTS \
  56. > /dev/null &
  57. ;;
  58. stop)
  59. if [ -f ${PIDFILE} ]; then
  60. /usr/bin/kill $(cat ${PIDFILE}) > /dev/null 2>&1
  61. fi
  62. ;;
  63. 'restart')
  64. stop
  65. while ps $(cat ${PIDFILE}) > /dev/null 2>&1
  66. do
  67. sleep 1
  68. done
  69. start
  70. ;;
  71. *)
  72. echo ""
  73. echo "Usage: `basename $0` { start | stop | restart }"
  74. echo ""
  75. exit 64
  76. ;;
  77. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement