Lines 16-21
Link Here
|
16 |
# Base database directory. |
16 |
# Base database directory. |
17 |
# mysql_args (str): Custom additional arguments to be passed |
17 |
# mysql_args (str): Custom additional arguments to be passed |
18 |
# to mysqld_safe (default empty). |
18 |
# to mysqld_safe (default empty). |
|
|
19 |
# mysql_instances (str): Set to "" by default. |
20 |
# If defined, list of instances to enable |
19 |
|
21 |
|
20 |
. /etc/rc.subr |
22 |
. /etc/rc.subr |
21 |
|
23 |
|
Lines 26-57
Link Here
|
26 |
|
28 |
|
27 |
: ${mysql_enable="NO"} |
29 |
: ${mysql_enable="NO"} |
28 |
: ${mysql_limits="NO"} |
30 |
: ${mysql_limits="NO"} |
|
|
31 |
: ${mysql_user="mysql"} |
29 |
: ${mysql_dbdir="/var/db/mysql"} |
32 |
: ${mysql_dbdir="/var/db/mysql"} |
30 |
|
33 |
|
31 |
mysql_user="mysql" |
|
|
32 |
mysql_limits_args="-e -U ${mysql_user}" |
33 |
pidfile="${mysql_dbdir}/`/bin/hostname`.pid" |
34 |
command="/usr/sbin/daemon" |
34 |
command="/usr/sbin/daemon" |
35 |
command_args="-c -f %%PREFIX%%/bin/mysqld_safe --defaults-extra-file=${mysql_dbdir}/my.cnf --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args}" |
|
|
36 |
procname="%%PREFIX%%/libexec/mysqld" |
35 |
procname="%%PREFIX%%/libexec/mysqld" |
37 |
start_precmd="${name}_prestart" |
36 |
start_precmd="${name}_prestart" |
38 |
start_postcmd="${name}_poststart" |
37 |
start_postcmd="${name}_poststart" |
|
|
38 |
|
39 |
if [ -n "$2" ]; then |
40 |
instance="$2" |
41 |
load_rc_config ${name}_${instance} |
42 |
case "$mysql_instances" in |
43 |
"$2 "*|*" $2 "*|*" $2"|"$2") |
44 |
eval _args="\${mysql_${instance}_args:-\"${mysql_args}\"}" |
45 |
eval _dbdir="\${mysql_${instance}_dbdir:-\"/var/db/mysql_${instance}\"}" |
46 |
eval _limits="\${mysql_${instance}_limits:-\"${mysql_limits}\"}" |
47 |
eval _user="\${mysql_${instance}_user:-\"${mysql_user}\"}" |
48 |
eval _limits_args="\${mysql_${instance}_limits_args:-\"${mysql_limits_args}\"}" |
49 |
[ -z "$_limits_args" ] && eval _limits_args=\"-e -U $_user\" |
50 |
pidfile="${_dbdir}/`/bin/hostname`.pid" |
51 |
;; |
52 |
*) |
53 |
err 1 "$2 not found in mysql_instances" ;; |
54 |
esac |
55 |
else |
56 |
if [ -n "${mysql_instances}" -a -n "$1" ]; then |
57 |
for instance in ${mysql_instances}; do |
58 |
eval _enable="\${mysql_${instance}_enable}" |
59 |
case "${_enable:-${mysql_enable}}" in |
60 |
[Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) |
61 |
continue |
62 |
;; |
63 |
[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) |
64 |
;; |
65 |
*) |
66 |
if [ -z "$_enable" ]; then |
67 |
_var=mysql_enable |
68 |
else |
69 |
_var=mysql_${instance}_enable |
70 |
fi |
71 |
warn "Bad value" \ |
72 |
"'${_enable:-${mysql_enable}}'" \ |
73 |
"for ${_var}. " \ |
74 |
"Instance ${instance} skipped." |
75 |
continue |
76 |
;; |
77 |
esac |
78 |
echo "===> mysql instance: ${instance}" |
79 |
if %%PREFIX%%/etc/rc.d/mysql-server $1 ${instance}; then |
80 |
success="${instance} ${success}" |
81 |
else |
82 |
failed="${instance} (${retcode}) ${failed}" |
83 |
fi |
84 |
done |
85 |
exit 0 |
86 |
else |
87 |
pidfile="${mysql_dbdir}/`/bin/hostname`.pid" |
88 |
_dbdir="/var/db/mysql" |
89 |
_user="mysql" |
90 |
_limits_args="-e -U ${_user}" |
91 |
fi |
92 |
fi |
93 |
|
39 |
mysql_install_db="%%PREFIX%%/bin/mysql_install_db" |
94 |
mysql_install_db="%%PREFIX%%/bin/mysql_install_db" |
40 |
mysql_install_db_args="--ldata=${mysql_dbdir}" |
95 |
mysql_install_db_args="--ldata=${_dbdir}" |
|
|
96 |
command_args="-c -f %%PREFIX%%/bin/mysqld_safe --defaults-extra-file=${_dbdir}/my.cnf --user=${_user} --datadir=${_dbdir} --pid-file=${pidfile} ${_args}" |
41 |
|
97 |
|
42 |
mysql_create_auth_tables() |
98 |
mysql_create_auth_tables() |
43 |
{ |
99 |
{ |
44 |
eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null |
100 |
eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null |
45 |
[ $? -eq 0 ] && chown -R ${mysql_user}:${mysql_user} ${mysql_dbdir} |
101 |
[ $? -eq 0 ] && chown -R ${_user}:${_user} ${_dbdir} |
46 |
} |
102 |
} |
47 |
|
103 |
|
48 |
mysql_prestart() |
104 |
mysql_prestart() |
49 |
{ |
105 |
{ |
50 |
if [ ! -d "${mysql_dbdir}/mysql/." ]; then |
106 |
if [ ! -d "${_dbdir}/mysql/." ]; then |
51 |
mysql_create_auth_tables || return 1 |
107 |
mysql_create_auth_tables || return 1 |
52 |
fi |
108 |
fi |
53 |
if checkyesno mysql_limits; then |
109 |
if checkyesno mysql_limits; then |
54 |
eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null |
110 |
eval `/usr/bin/limits $_limits_args` 2>/dev/null |
55 |
else |
111 |
else |
56 |
return 0 |
112 |
return 0 |
57 |
fi |
113 |
fi |