Advertisement
Guest User

mysql-server script

a guest
Mar 5th, 2013
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.29 KB | None | 0 0
  1. #!/bin/sh
  2. #
  3. # $FreeBSD: ports/databases/mysql55-server/files/mysql-server.in,v 1.2 2012/11/17 05:55:12 svnexp Exp $
  4. #
  5.  
  6. # PROVIDE: mysql
  7. # REQUIRE: LOGIN
  8. # KEYWORD: shutdown
  9.  
  10. #
  11. # Add the following line to /etc/rc.conf to enable mysql:
  12. # mysql_enable (bool):  Set to "NO" by default.
  13. #                       Set it to "YES" to enable MySQL.
  14. # mysql_limits (bool):  Set to "NO" by default.
  15. #                       Set it to yes to run `limits -e -U mysql`
  16. #                       just before mysql starts.
  17. # mysql_dbdir (str):    Default to "/var/db/mysql"
  18. #                       Base database directory.
  19. # mysql_pidfile (str):  Custum PID file path and name.
  20. #                       Default to "${mysql_dbdir}/${hostname}.pid".
  21. # mysql_args (str):     Custom additional arguments to be passed
  22. #                       to mysqld_safe (default empty).
  23. #
  24.  
  25. . /etc/rc.subr
  26.  
  27. name="mysql"
  28. rcvar=mysql_enable
  29.  
  30. load_rc_config $name
  31.  
  32. : ${mysql_enable="NO"}
  33. : ${mysql_limits="NO"}
  34. : ${mysql_dbdir="/var/db/mysql"}
  35.  
  36. mysql_user="mysql"
  37. mysql_limits_args="-e -U ${mysql_user}"
  38. pidfile=${mysql_pidfile:-"${mysql_dbdir}/`/bin/hostname`.pid"}
  39. command="/usr/sbin/daemon"
  40. command_args="-c -f /usr/local/bin/mysqld_safe --defaults-extra-file=${mysql_dbdir}/my.cnf --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args}"
  41. procname="/usr/local/libexec/mysqld"
  42. start_precmd="${name}_prestart"
  43. start_postcmd="${name}_poststart"
  44. mysql_install_db="/usr/local/bin/mysql_install_db"
  45. mysql_install_db_args="--basedir=/usr/local --datadir=${mysql_dbdir} --force"
  46.  
  47. mysql_create_auth_tables()
  48. {
  49.        eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null
  50.        [ $? -eq 0 ] && chown -R ${mysql_user}:${mysql_user} ${mysql_dbdir}
  51. }
  52.  
  53. mysql_prestart()
  54. {
  55.        if [ ! -d "${mysql_dbdir}/mysql/." ]; then
  56.                mysql_create_auth_tables || return 1
  57.        fi
  58.        if checkyesno mysql_limits; then
  59.                eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
  60.        else
  61.                return 0
  62.        fi
  63. }
  64.  
  65. mysql_poststart()
  66. {
  67.        local timeout=15
  68.        while [ ! -f "${pidfile}" -a ${timeout} -gt 0 ]; do
  69.                timeout=$(( timeout - 1 ))
  70.                sleep 1
  71.        done
  72.        return 0
  73. }
  74.  
  75. run_rc_command "$1"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement