| 1 |
lars |
1 |
#!/bin/sh
|
|
|
2 |
#
|
|
|
3 |
# $FreeBSD: ports/databases/mysql51-server/files/mysql-server.sh.in,v 1.3 2006/03/07 16:25:01 ale 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_args (str): Custom additional arguments to be passed
|
|
|
20 |
# to mysqld_safe (default empty).
|
|
|
21 |
#
|
|
|
22 |
|
|
|
23 |
. /etc/rc.subr
|
|
|
24 |
|
|
|
25 |
name="mysql"
|
|
|
26 |
rcvar=`set_rcvar`
|
|
|
27 |
|
|
|
28 |
load_rc_config $name
|
|
|
29 |
|
|
|
30 |
: ${mysql_enable="NO"}
|
|
|
31 |
: ${mysql_limits="NO"}
|
|
|
32 |
: ${mysql_dbdir="/var/db/mysql"}
|
|
|
33 |
: ${mysql_args=""}
|
|
|
34 |
|
|
|
35 |
mysql_user="mysql"
|
|
|
36 |
mysql_limits_args="-e -U ${mysql_user}"
|
|
|
37 |
pidfile="${mysql_dbdir}/`/bin/hostname`.pid"
|
|
|
38 |
command="/usr/local/bin/mysqld_safe"
|
|
|
39 |
command_args="--defaults-extra-file=${mysql_dbdir}/my.cnf --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args} > /dev/null &"
|
|
|
40 |
procname="/usr/local/libexec/mysqld"
|
|
|
41 |
start_precmd="${name}_prestart"
|
|
|
42 |
mysql_install_db="/usr/local/bin/mysql_install_db"
|
|
|
43 |
mysql_install_db_args="--ldata=${mysql_dbdir}"
|
|
|
44 |
|
|
|
45 |
mysql_create_auth_tables()
|
|
|
46 |
{
|
|
|
47 |
eval $mysql_install_db $mysql_install_db_args >/dev/null
|
|
|
48 |
[ $? -eq 0 ] && chown -R ${mysql_user}:${mysql_user} ${mysql_dbdir}
|
|
|
49 |
}
|
|
|
50 |
|
|
|
51 |
mysql_prestart()
|
|
|
52 |
{
|
|
|
53 |
if [ ! -d "${mysql_dbdir}/mysql/." ]; then
|
|
|
54 |
mysql_create_auth_tables || return 1
|
|
|
55 |
fi
|
|
|
56 |
if checkyesno mysql_limits; then
|
|
|
57 |
eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
|
|
|
58 |
else
|
|
|
59 |
return 0
|
|
|
60 |
fi
|
|
|
61 |
}
|
|
|
62 |
|
|
|
63 |
run_rc_command "$1"
|