]> git.pld-linux.org Git - packages/percona-server.git/blame - mysql.init
- our mysql "root" is mysql
[packages/percona-server.git] / mysql.init
CommitLineData
53a28f77 1#!/bin/sh
2#
350d9d8c 3# mysql A very fast and reliable SQL database engine
53a28f77 4#
350d9d8c 5# chkconfig: 2345 84 25
53a28f77 6#
350d9d8c 7# description: A very fast and reliable SQL database engine.
53a28f77 8#
53a28f77 9# Source function library
10. /etc/rc.d/init.d/functions
11
12# Get network config
13. /etc/sysconfig/network
14
aac2c31f
AM
15# Get service config
16if [ -f /etc/sysconfig/mysql ]; then
350d9d8c 17 . /etc/sysconfig/mysql
aac2c31f 18else
350d9d8c 19 nls "Error: %s not found" /etc/sysconfig/mysql
95b0575d 20 nls "%s can't be run." MySQL
350d9d8c
PG
21 exit 1
22fi
23
81a1bbc6 24[ -z "$BASE_TABLETYPE" ] && BASE_TABLETYPE="MyISAM"
0eaa35fc 25
0146fae1 26if [ -n "$MYSQL_DB_CLUSTERS" ]; then
350d9d8c 27 nls "Warning: MYSQL_DB_CLUSTERS is set. It's obsolete. Use %s instead." /etc/mysql/clusters.conf
aac2c31f
AM
28fi
29
95b0575d 30if [ -f /etc/mysql/clusters.conf ]; then
0ca65658 31 MYSQL_DB_CLUSTERS=$(awk -F= '!/^#/{print $2}' /etc/mysql/clusters.conf)
95b0575d
ER
32 if [ -z "$MYSQL_DB_CLUSTERS" ]; then
33 nls "Warning: there are no configured clusters."
34 fi
0146fae1 35
95b0575d 36else
0146fae1 37 nls "Warning: Missing clusters config file %s" /etc/mysql/clusters.conf
95b0575d
ER
38 if [ -z "$MYSQL_DB_CLUSTERS" ]; then
39 nls "Warning: there are no configured clusters."
40 nls "Using default cluster /var/lib/mysql (compatibility mode)"
41 MYSQL_DB_CLUSTERS=/var/lib/mysql
42 fi
aac2c31f
AM
43fi
44
95b0575d 45
ac28c610 46# Check that networking is up
8eb71226 47if is_yes "${NETWORKING}"; then
213fc2f2 48 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status -a "$1" != init ]; then
8eb71226 49 msg_network_down MySQL
50 exit 1
51 fi
52else
53 exit 0
e9ca44ab 54fi
55
aac2c31f
AM
56action="$1"
57
58# any db cluster as command line argument?
521444a9 59if [ $# -gt 1 ]; then
350d9d8c
PG
60 shift
61 # perform action for specified clusters only
30b2aa9a
ER
62 for a in "$@"; do
63 # try auto resolving from /etc/mysql/clusters.conf
64 if [[ "$a" != /* ]]; then
65 m=$(awk -va="$a" -F= 'substr($0, 1, length(a)) == a {print $1}' /etc/mysql/clusters.conf)
66 if [ -z "$m" ]; then
67 echo >&2 "Cluster name '$a' did not match anything!"
68 exit 1
69 fi
70 if [ $(echo "$m" | wc -l) -gt 1 ]; then
71 echo >&2 "Cluster name '$a' ambiguous:" $m
72 exit 1
73 fi
74 a=$(awk -va="$a" -F= 'substr($0, 1, length(a)) == a {print $2}' /etc/mysql/clusters.conf)
75 fi
76 DB_CLUSTERS="$DB_CLUSTERS $a"
77 done
aac2c31f 78else
350d9d8c 79 DB_CLUSTERS="$MYSQL_DB_CLUSTERS"
53a28f77 80fi
81
aac2c31f 82MYSQL_ERRLOG=/var/log/mysql/err
c85758f0
AM
83MYSQL_START_WAIT_TIME=${MYSQL_START_WAIT_TIME:-15}
84MYSQL_STOP_WAIT_TIME=${MYSQL_STOP_WAIT_TIME:-900}
aac2c31f
AM
85
86#
87# Useful functions.
88#
89
90#
91# check for mysql status
92#
93# arguments:
94# $1 - db cluster
c85758f0 95# $2 - start|stop
aac2c31f
AM
96#
97# sets variables:
c85758f0 98# MYSQL_STATUS = starting | running | not running | died
aac2c31f
AM
99# MYSQL_PID = pid of mysqld process
100#
101mysqlstatus() {
102 clusterdir="$1"
c85758f0
AM
103 mode="$2"
104
aac2c31f 105 mysqlgetconfig "$clusterdir"
d405c4eb 106
350d9d8c
PG
107 MYSQL_STATUS="not running"
108 MYSQL_PID="unknown"
c85758f0
AM
109 MYSQL_PIDFILE_PID=""
110 MYSQL_GREP_PID=""
aac2c31f 111
c85758f0
AM
112 if [ -f "$MYSQL_PIDFILE" ]; then
113 MYSQL_PIDFILE_PID=$(cat "$MYSQL_PIDFILE")
114 fi
115
116 if [ -n "$MYSQL_PIDFILE_PID" ]; then
117 MYSQL_PID=$MYSQL_PIDFILE_PID
118 if [ ! -d "/proc/$MYSQL_PID" ]; then
119 MYSQL_STATUS="died"
120 return
376ffa12 121 elif (grep -qa "$MYSQL_PIDFILE" /proc/$MYSQL_PID/cmdline 2> /dev/null); then
c85758f0
AM
122 MYSQL_STATUS="running"
123 return
124 fi
125 fi
6d3c5db5 126
c85758f0 127 if [ "$mode" = "start" ]; then
376ffa12 128 MYSQL_GREP_PID=$(grep -lE "^/usr/sbin/mysqld.*${MYSQL_PIDFILE}" /proc/[0-9]*/cmdline 2> /dev/null | awk -F "/" '{ print $3; exit; }')
c85758f0
AM
129 if [ -n "$MYSQL_GREP_PID" ]; then
130 MYSQL_PID=$MYSQL_GREP_PID
0ca65658 131 if grep -qa "$MYSQL_PIDFILE" /proc/$MYSQL_PID/cmdline 2> /dev/null; then
c85758f0
AM
132 if [ -f "$MYSQL_PIDFILE" ]; then
133 MYSQL_PIDFILE_PID=$(cat "$MYSQL_PIDFILE")
134 fi
135 if [ -n "$MYSQL_PIDFILE_PID" ]; then
136 MYSQL_PID=$MYSQL_PIDFILE_PID
137 MYSQL_STATUS="running"
138 return
139 else
140 MYSQL_STATUS="starting"
141 return
142 fi
143 fi
144 fi
6d3c5db5 145 fi
c85758f0
AM
146
147 # else default, "not running"
aac2c31f
AM
148}
149
150# get mysql configuration in variables
151# MYSQL_CONFIG MYSQL_DATA_DIR MYSQL_USER MYSQL_PIDFILE
152#
153# arguments
154# $1 - db cluster
155
156mysqlgetconfig() {
157 clusterdir="$1"
aac2c31f
AM
158
159 # emulate old behaviour if only one cluster specified
160 if [ "$clusterdir" = "$MYSQL_DB_CLUSTERS" -a "$clusterdir" = "/var/lib/mysql" -a -f /etc/mysqld.conf ]; then
0ca65658 161 MYSQL_RA_COMPAT=yes
aac2c31f 162 config_file=/etc/mysqld.conf
521444a9 163 else
0ca65658
ER
164 config=$(awk -F= -vclusterdir="$clusterdir" '!/^#/{ if (clusterdir == $2) print $1}' /etc/mysql/clusters.conf)
165 if [[ $config = /* ]]; then
d54e166d 166 config_file="$config"
fe2f6e01 167 elif [ -f "/etc/mysql/$config" ]; then
0ca65658 168 config_file="/etc/mysql/$config"
d54e166d
AM
169 else
170 config_file="$clusterdir/mysqld.conf"
171 fi
350d9d8c 172 fi
aac2c31f 173
0ca65658 174 MYSQL_CLUSTER_DIR="$clusterdir"
d405c4eb 175
521444a9 176 if [ -z "$config_file" ]; then
f9ad67df
PG
177 nls "Error: Can't find config file for %s cluster" "$clusterdir"
178 exit 6
179 else
0ca65658 180 MYSQL_CONFIG="$config_file"
f9ad67df 181 fi
d405c4eb 182
aac2c31f
AM
183 if [ ! -f "$config_file" ]; then
184 nls "Error: config file %s not found" "$config_file"
350d9d8c
PG
185 nls "MySQL can't be run. Did you initialize DB by doing \`$0 init'?"
186 exit 6
aac2c31f
AM
187 fi
188
189 eval `awk '
823c13f7
SZ
190/^[ \t]*\[.*\][ \t]*$/ {
191 match($0,/\[.*\]/)
0ca65658 192 section=substr($0, RSTART + 1, RSTART + RLENGTH - 3)
823c13f7 193}
0ca65658
ER
194section == "mysqld" && $2 ~ "=" {
195 if ($1 == "datadir") {
823c13f7 196 printf("MYSQL_DATA_DIR=%s;", $3)
0ca65658 197 } else if ($1 == "user") {
823c13f7 198 printf("MYSQL_USER=%s;", $3)
0ca65658 199 } else if ($1 == "pid-file") {
823c13f7 200 printf("MYSQL_PIDFILE=%s;", $3)
0ca65658 201 } else if ($1 == "socket") {
aac2c31f 202 printf("MYSQL_SOCKET=%s;", $3)
823c13f7
SZ
203 }
204}
aac2c31f 205' $config_file`
e9ca44ab 206
e9ca44ab 207
d54e166d 208 if is_yes "$MYSQL_RA_COMPAT"; then
350d9d8c 209 MYSQL_DATA_DIR_SUB=""
8ee1d59c 210 else
350d9d8c 211 MYSQL_DATA_DIR_SUB="/mysqldb"
8ee1d59c 212 fi
d405c4eb 213
8ee1d59c 214 if [ -z "$MYSQL_DATA_DIR" -o "$MYSQL_DATA_DIR" != "${clusterdir}${MYSQL_DATA_DIR_SUB}/db" ]; then
350d9d8c
PG
215 nls "Error: datadir specified in %s should be %s" "$config_file" "$clusterdir${MYSQL_DATA_DIR_SUB}/db"
216 nls " MySQL can't be run."
217 exit 6
8ee1d59c 218 fi
d405c4eb 219
8ee1d59c
AM
220 if [ -z "$MYSQL_PIDFILE" -o "$MYSQL_PIDFILE" != "$clusterdir${MYSQL_DATA_DIR_SUB}/mysql.pid" ]; then
221 nls "Error: pid-file specified in %s should be %s" "$config_file" "$clusterdir${MYSQL_DATA_DIR_SUB}/mysql.pid"
222 nls " MySQL can't be run."
223 exit 6
224 fi
e9ca44ab 225
aac2c31f 226 if [ -z $MYSQL_USER ]; then
350d9d8c
PG
227 echo "$(nls 'MySQL user not configured properly')"'!' >&2
228 nls "Edit %s and configure it." "$config_file" >&2
229 exit 6
860cd80c 230 fi
aac2c31f 231}
e9ca44ab 232
aac2c31f
AM
233# start mysql
234mysqlstart() {
235 clusterdir="$1"
236 mysqlgetconfig "$clusterdir"
237 if [ ! -d "$MYSQL_DATA_DIR/mysql" ]; then
238 nls "MySQL cluster %s not initialized." "$clusterdir"
239 nls "Try \`%s init %s' before start." "$0" "$clusterdir"
350d9d8c
PG
240 exit 6
241 fi
02e96f2e 242
aac2c31f
AM
243 msg_starting "MySQL $clusterdir"
244 busy
245 [ -z "$DEFAULT_SERVICE_RUN_NICE_LEVEL" ] && DEFAULT_SERVICE_RUN_NICE_LEVEL=0
c85758f0 246 rm -f "$MYSQL_PIDFILE"
07d266fd 247 TMPDIR=/tmp nice -n ${SERVICE_RUN_NICE_LEVEL:-$DEFAULT_SERVICE_RUN_NICE_LEVEL} /usr/bin/setsid /usr/sbin/mysqld --defaults-file=$MYSQL_CONFIG --datadir=$MYSQL_DATA_DIR --pid-file=$MYSQL_PIDFILE $MYSQL_OPTIONS >> $MYSQL_ERRLOG 2>&1 &
c85758f0
AM
248 sleep 0.2
249 mysqlstatus "$clusterdir" start
250 # it takes longer for mysqld to start and create pidfile if it has to recover innodb transactions
251 if [ "$MYSQL_STATUS" = "starting" ]; then
252 for nr in $(seq 1 $(($MYSQL_START_WAIT_TIME*10))); do
253 [ -f "$MYSQL_PIDFILE" ] && break
254 sleep 0.1
255 done
256 fi
257
258 mysqlstatus "$clusterdir" start
6d3c5db5 259 if [ "$MYSQL_STATUS" = "running" -a "$MYSQL_PID" != "unknown" ]; then
aac2c31f 260 ok
47fd5a6a 261 elif [ "$MYSQL_STATUS" = "died" ]; then
350d9d8c 262 RETVAL=1
47fd5a6a 263 died
aac2c31f
AM
264 else
265 RETVAL=1
266 fail
53a28f77 267 fi
aac2c31f
AM
268}
269
270# stop mysql
271mysqlstop() {
272 clusterdir="$1"
c85758f0 273 mysqlstatus "$clusterdir" stop
aac2c31f
AM
274 msg_stopping "MySQL $clusterdir"
275 busy
95b0575d 276
95b0575d 277 # try graceful shutdown -- send shutdown command
f07ac4b4 278 # requires mysql_logrotate user proper privs
465c110e 279 /usr/bin/mysqladmin --defaults-file=$MYSQL_CONFIG ${MYSQL_SOCKET:+--socket=$MYSQL_SOCKET} shutdown >/dev/null 2>&1
c85758f0 280 mysqlstatus "$clusterdir" stop
95b0575d 281
c85758f0
AM
282 if [ "$MYSQL_PID" != "unknown" ]; then
283 kill -TERM "$MYSQL_PID" 2> /dev/null
284 for nr in $(seq 1 $(($MYSQL_STOP_WAIT_TIME*10))); do
285 [ -d "/proc/$MYSQL_PID" ] || break
286 sleep 0.1
287 done
288 fi
289
290 mysqlstatus "$clusterdir" stop
47fd5a6a 291 if [ "$MYSQL_STATUS" = "died" ]; then
350d9d8c 292 died
c85758f0 293 elif [ "$MYSQL_STATUS" = "running" -o "$MYSQL_STATUS" = "starting" ]; then
aac2c31f 294 fail
b92e5cd1 295 else
aac2c31f 296 ok
b92e5cd1 297 fi
aac2c31f
AM
298}
299
300#
301# check for running mysql instances; if any instance is running then
302# create subsys lock file
303#
304mysqlsubsys() {
350d9d8c
PG
305 # check for every defined db cluster in sysconfig file
306 for mysqldir in $DB_CLUSTERS; do
307 mysqlstatus "$mysqldir"
308 if [ "$MYSQL_STATUS" = "running" ]; then
309 touch /var/lock/subsys/mysql
310 return
311 fi
312 done
313 rm -f /var/lock/subsys/mysql
aac2c31f
AM
314}
315
316mysqlinit() {
317 clusterdir="$1"
8ee1d59c
AM
318
319 if [ -f /etc/mysqld.conf ]; then
350d9d8c
PG
320 nls "Running in \`no cluster compat' mode: can't initialize database."
321 nls "Move /etc/mysqld.conf away and rerun \`$0 init' (new config will be in $clusterdir)."
322 exit 1
8ee1d59c
AM
323 fi
324
521444a9
AM
325 if [ -f "$clusterdir/mysqld.conf" ]; then
326 mysqlgetconfig "$clusterdir"
327 else
328 MYSQL_USER="mysql"
329 MYSQL_CLUSTER_DIR="$clusterdir"
330 MYSQL_DATA_DIR="$clusterdir/mysqldb/db"
331 MYSQL_PIDFILE="$clusterdir/mysqldb/mysql.pid"
332 MYSQL_SOCKET="$clusterdir/mysqldb/mysql.sock"
fe98cc4a
ER
333
334 # this $MYSQL_CONFIG will be created later
335 MYSQL_CONFIG="$MYSQL_CLUSTER_DIR/mysqld.conf"
521444a9 336 fi
aac2c31f
AM
337
338 nls "Initializing cluster %s" "$clusterdir"
339
573e1dcc 340 # Check if not exist init database
e9ca44ab 341 if [ -d "$MYSQL_DATA_DIR/mysql" ]; then
c70c8930 342 nls "Seems that database is initialized now. Remove by hand %s" "$MYSQL_DATA_DIR/mysql"
b92e5cd1 343 nls "before initializing database."
aac2c31f
AM
344 nls "For now skipping cluster %s." "$clusterdir"
345 return
e9ca44ab 346 fi
347
aac2c31f 348 show "Creating privilege mysql tables for $MYSQL_DATA_DIR"
e9ca44ab 349 busy
d405c4eb
JB
350 TMP=/tmp TMPDIR=/tmp
351
ac28c610 352 # Install this in the user table, too
653cf157
AM
353 hostname="`hostname --fqdn 2> /dev/null | tr -d '[:space:]'`"
354 [ -z "$hostname" ] && hostname="localhost-unknown"
d405c4eb 355
e9ca44ab 356 # Check if hostname is valid
357 if [ -z "$hostname" ]; then
358 deltext
b92e5cd1 359 fail
360 nls "Sorry, the host name is not configured."
361 nls "Please configure the 'hostname' command to return a hostname."
362 exit 1
d405c4eb 363 elif ! hostname -i >/dev/null 2>&1; then
b92e5cd1 364 deltext
365 fail
366 nls "Sorry, the host '%s' could not be looked up." "$hostname"
367 nls "Please configure the 'hostname' command to return a correct hostname."
e9ca44ab 368 exit 1
e9ca44ab 369 fi
370
bb39d376 371 mkdir -p "$MYSQL_DATA_DIR"
f5d63301
AM
372 # Using mysql:mysql for MYSQL_CLUSTER_DIR is creating SECURITY hole, root:root is proper
373 chown root:root "$MYSQL_CLUSTER_DIR"
374 chown mysql:mysql "$MYSQL_CLUSTER_DIR/mysqldb" "$MYSQL_DATA_DIR" > /dev/null 2>&1
653cf157 375 chmod 751 "$MYSQL_CLUSTER_DIR" "$MYSQL_CLUSTER_DIR/mysqldb"
444f9f3c
AM
376
377 if [ -f /usr/share/mysql/mysqld.conf -a ! -f "$MYSQL_CLUSTER_DIR/mysqld.conf" ]; then
b6369c60
ER
378 sed -e "
379 s#\(datadir.*\)=.*#\1= $MYSQL_DATA_DIR#g;
380 s#\(pid-file.*\)=.*#\1= $MYSQL_PIDFILE#g;
381 s#\(socket.*\)=.*#\1= $MYSQL_SOCKET#g;
382 s#@clusterdir@#$MYSQL_CLUSTER_DIR#g;
383 " /usr/share/mysql/mysqld.conf > "$MYSQL_CLUSTER_DIR/mysqld.conf"
54a1f368 384 chown root:root "$MYSQL_CLUSTER_DIR/mysqld.conf"
444f9f3c
AM
385 chmod 640 "$MYSQL_CLUSTER_DIR/mysqld.conf"
386 fi
cc4d3f78 387
a08fc1eb 388 if [ ! -e /var/lib/mysql/mysql.sock ] || [ -L /var/lib/mysql/mysql.sock ] && [ -z "$(readlink /var/lib/mysql/mysql.sock)" ]; then
0ca65658 389 sock=${MYSQL_SOCKET#/var/lib/mysql/} # make it relative if possible
5fe13e55 390 ln -s "$sock" /var/lib/mysql/mysql.sock
cc4d3f78 391 fi
aac2c31f 392
b9c4f95d 393 cat > $MYSQL_DATA_DIR/mysql-init.sql <<-EOF
bb39d376
AM
394 CREATE DATABASE mysql;
395 use mysql;
396 $(sed -e "s,@ENGINE@,$BASE_TABLETYPE," /usr/share/mysql/init_db.sql)
397 $(sed -e "s,\$hostname,$hostname,g" /usr/share/mysql/init_db-data.sql)
b9c4f95d
ER
398 "
399EOF
400
401 ok=0
402 /usr/sbin/mysqld --bootstrap --skip-grant-tables \
403 --datadir=$MYSQL_DATA_DIR --user=$MYSQL_USER < $MYSQL_DATA_DIR/mysql-init.sql && ok=1
5062ac41 404 [ -f $MYSQL_DATA_DIR/mysql/host.frm ] || ok=0
b9c4f95d
ER
405 if [ "$ok" = 1 ]; then
406 rm -f $MYSQL_DATA_DIR/mysql-init.sql
e9ca44ab 407 ok
aac2c31f 408 cat << END_OF_MSG
6a46c354 409
410PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL USERS!
81e0333c 411This is done (after starting database; press enter when asked for password) with:
6a46c354 412
b0af04b5
PG
413/usr/bin/mysqladmin -u mysql -S $MYSQL_SOCKET password 'password'
414/usr/bin/mysqladmin -h $hostname -u mysql -S $MYSQL_SOCKET password 'password'
415/usr/bin/mysqladmin -u mysql_logrotate -S $MYSQL_SOCKET password 'password'
6a46c354 416
aac2c31f 417NOTE: mysql_logrotate password should be placed to $MYSQL_CONFIG in
6a46c354 418mysqladmin section. See the manual for more instructions.
e9ca44ab 419
16bf26ff 420If you want to use new help tables in MySQL 4.1.x then you'll need to import the help data:
494b4581 421/usr/bin/mysql -u mysql -p -S $MYSQL_SOCKET mysql < /usr/share/mysql/fill_help_tables.sql
16bf26ff 422
e9ca44ab 423END_OF_MSG
d405c4eb 424 else
e9ca44ab 425 fail
426 cat << END_OF_MSG
427Installation of grant tables FAILED!
428
b9c4f95d
ER
429Examine the logs in /var/log/mysql for more information. You can
430also try to start the mysqld daemon with:
e9ca44ab 431
432/usr/sbin/mysqld --skip-grant &
433
434You can use the command line tool /usr/bin/mysql to connect to the mysql
435database and look at the grant tables:
436
437shell> /usr/bin/mysql -u mysql mysql
438mysql> show tables
439
440Try 'mysqld --help' if you have problems with paths. Setting on
441logging in /etc/mysqld.conf gives you a log in /var/log/mysql/log that
442may be helpful. The latest information about MySQL is available on the
78b16243 443web at http://www.mysql.com/.
e9ca44ab 444
a3eb9e7b 445Please check PLD Linux ftp site for newer versions of this package.
e9ca44ab 446
447Please consult the MySQL manual section: 'Problems running
448mysql_install_db', and the manual section that describes problems on
449your OS. Another information source is the MySQL email archive.
450Please check all of the above before mailing us! And if you do mail
d405c4eb 451us, you MUST use the /usr/bin/mysqlbug script!
e9ca44ab 452
453END_OF_MSG
454
aac2c31f
AM
455 exit 1
456 fi
457}
458
459#
460# End of useful functions.
461#
462
323256af 463start() {
aac2c31f
AM
464 if [ ! -f $MYSQL_ERRLOG ]; then
465 touch $MYSQL_ERRLOG
823c13f7 466 fi
54a1f368 467 chown mysql:mysql $MYSQL_ERRLOG
aac2c31f
AM
468 chmod 640 $MYSQL_ERRLOG
469
470 for mysqldir in $DB_CLUSTERS; do
c85758f0 471 mysqlstatus "$mysqldir" start
aac2c31f
AM
472 if [ "$MYSQL_STATUS" = "running" ]; then
473 msg_already_running "MySQL $mysqldir"
474 else
475 mysqlstart "$mysqldir"
476 fi
477 done
478 mysqlsubsys
323256af
ER
479}
480
481stop() {
aac2c31f 482 for mysqldir in $DB_CLUSTERS; do
c85758f0 483 mysqlstatus "$mysqldir" stop
aac2c31f
AM
484 if [ "$MYSQL_STATUS" = "not running" ]; then
485 msg_not_running "MySQL $mysqldir"
486 else
487 mysqlstop "$mysqldir"
488 fi
489 done
490 mysqlsubsys
323256af
ER
491}
492
493RETVAL=0
494case "$action" in
495 start)
496 start
497 ;;
498 stop)
499 stop
aac2c31f
AM
500 ;;
501 status)
502 for mysqldir in $DB_CLUSTERS; do
503 mysqlstatus "$mysqldir"
2bac5c2d 504 if [ "$MYSQL_STATUS" = "running" ]; then
27698ac1 505 show "MySQL cluster %s, PID %s" "$mysqldir" "$MYSQL_PID"
2bac5c2d
ER
506 progress "$MYSQL_STATUS"
507 else
27698ac1 508 show "MySQL cluster %s" "$mysqldir"
2bac5c2d
ER
509 progress "$MYSQL_STATUS" "$CFAIL"
510 fi
511 echo
aac2c31f
AM
512 done
513 exit $?
514 ;;
515 restart|force-reload)
323256af
ER
516 stop
517 start
aac2c31f
AM
518 ;;
519 init)
520 for mysqldir in $DB_CLUSTERS; do
521 mysqlinit "$mysqldir"
522 done
60bd204c 523 exit $?
573e1dcc 524 ;;
6fb7a89b
AM
525 flush-logs)
526 for mysqldir in $DB_CLUSTERS; do
527 mysqlgetconfig "$mysqldir"
7c37979d
ER
528 # just if mysqld is really running
529 if /usr/bin/mysqladmin --defaults-file="$MYSQL_CONFIG" --socket="$MYSQL_SOCKET" ping >/dev/null 2>&1; then
530 /usr/bin/mysqladmin --defaults-file="$MYSQL_CONFIG" --socket="$MYSQL_SOCKET" flush-logs
531 fi
6fb7a89b 532 done
6fb7a89b 533 ;;
53a28f77 534 *)
02e96f2e 535 msg_usage "$0 {start|stop|init|restart|force-reload|status}"
536 exit 3
53a28f77 537esac
40c36bca 538
ee9b6a50 539exit $RETVAL
350d9d8c
PG
540
541# vi: shiftwidth=4 tabstop=4
This page took 0.163544 seconds and 4 git commands to generate.