]> git.pld-linux.org Git - packages/mysql.git/blob - mysql.init
- MYSQL_STATUS=died supported
[packages/mysql.git] / mysql.init
1 #!/bin/sh
2 #
3 # mysql         A very fast and reliable SQL database engine
4 #
5 # chkconfig:    2345 84 25
6 #
7 # description:  A very fast and reliable SQL database engine.
8 #
9
10 # Source function library
11 . /etc/rc.d/init.d/functions
12
13 # Get network config
14 . /etc/sysconfig/network
15
16 # Get service config
17 if [ -f /etc/sysconfig/mysql ]; then
18         . /etc/sysconfig/mysql
19 else
20         nls "Error: %s not found" /etc/sysconfig/mysql
21         nls " MySQL can't be run."
22         exit 1
23 fi
24
25 if [ ! "$MYSQL_DB_CLUSTERS" ]; then
26         nls "Error: MYSQL_DB_CLUSTERS not found or is empty"
27         nls " MySQL can't be run."
28         exit 1
29 fi
30
31 # Check that networking is up
32 if is_yes "${NETWORKING}"; then
33         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status -a "$1" != init ]; then
34                 msg_network_down MySQL
35                 exit 1
36         fi
37 else
38         exit 0
39 fi
40
41 # Get service config
42 if [ -f /etc/sysconfig/mysql ]; then
43         . /etc/sysconfig/mysql
44 fi
45
46 action="$1"
47
48 # any db cluster as command line argument?
49 if [ $# -gt 1 ]; then
50         shift
51         # perform action for specified clusters only
52         DB_CLUSTERS="$@"
53 else
54         DB_CLUSTERS="$MYSQL_DB_CLUSTERS"
55 fi
56
57 MYSQL_ERRLOG=/var/log/mysql/err
58
59 #
60 # Useful functions.
61 #
62
63 #
64 # check for mysql status
65 #
66 # arguments:
67 # $1 - db cluster
68 #
69 # sets variables:
70 # MYSQL_STATUS = running | not running
71 # MYSQL_PID    = pid of mysqld process
72 #
73 mysqlstatus() {
74         clusterdir="$1"
75         mysqlgetconfig "$clusterdir"
76         MYSQL_STATUS="unknown"
77         MYSQL_PID="unknown"
78
79         [ -f "$MYSQL_PIDFILE" ] && MYSQL_PID=$(cat "$MYSQL_PIDFILE")
80
81         if [ ! -d "/proc/$MYSQL_PID" -a "$MYSQL_PID" != "unknown" ]; then
82             MYSQL_STATUS="died"
83         elif [ -d "/proc/$MYSQL_PID" ]; then
84             grep -q "$MYSQL_PIDFILE" /proc/$MYSQL_PID/cmdline && MYSQL_STATUS="running" || MYSQL_STATUS="not running"
85         fi
86 }
87
88 # get mysql configuration in variables
89 # MYSQL_CONFIG MYSQL_DATA_DIR MYSQL_USER MYSQL_PIDFILE
90 #
91 # arguments
92 # $1 - db cluster
93
94 mysqlgetconfig() {
95         clusterdir="$1"
96         config_file="/etc/mysqld/mysqld$(echo "$clusterdir" | tr '/' '-').conf"
97
98         # emulate old behaviour if only one cluster specified
99         if [ "$clusterdir" = "$MYSQL_DB_CLUSTERS" -a "$clusterdir" = "/var/lib/mysql" -a -f /etc/mysqld.conf ]; then
100                 MYSQL_NO_CLUSTER_COMPAT=yes; export MYSQL_NO_CLUSTER_COMPAT
101                 config_file=/etc/mysqld.conf
102         fi
103
104         MYSQL_CLUSTER_DIR="$clusterdir"; export MYSQL_CLUSTER_DIR
105         MYSQL_CONFIG="$config_file"; export MYSQL_CONFIG
106
107         if [ ! -f "$config_file" ]; then
108                 nls "Error: config file %s not found" "$config_file"
109                 nls " MySQL can't be run."
110                 exit 6
111         fi
112
113         eval `awk '
114 /^[ \t]*\[.*\][ \t]*$/ {
115         match($0,/\[.*\]/)
116         section=substr($0,RSTART+1,RSTART+RLENGTH-3)
117 }
118 section=="mysqld" && $2~"=" {
119         if ($1=="datadir") {
120                 printf("MYSQL_DATA_DIR=%s;", $3)
121         } else if ($1=="user") {
122                 printf("MYSQL_USER=%s;", $3)
123         } else if ($1=="pid-file") {
124                 printf("MYSQL_PIDFILE=%s;", $3)
125         } else if ($1=="socket") {
126                 printf("MYSQL_SOCKET=%s;", $3)
127         }
128 }
129 END {
130         print "export MYSQL_DATA_DIR MYSQL_USER MYSQL_PIDFILE MYSQL_SOCKET"
131 }
132 ' $config_file`
133
134         if [ -z "$MYSQL_DATA_DIR" -o "$MYSQL_DATA_DIR" != "$clusterdir/db" ]; then
135                 nls "Error: datadir specified in %s should be %s" "$config_file" "$clusterdir/db"
136                 nls " MySQL can't be run."
137                 exit 6
138         fi
139
140         if ! is_yes "$MYSQL_NO_CLUSTER_COMPAT"; then                    
141                 if [ -z "$MYSQL_PIDFILE" -o "$MYSQL_PIDFILE" != "$clusterdir/mysql.pid" ]; then
142                         nls "Error: pid-file specified in %s should be %s" "$config_file" "$clusterdir/mysql.pid"
143                         nls " MySQL can't be run."
144                         exit 6
145                 fi
146         fi
147
148         if [ -z $MYSQL_USER ]; then
149                 echo "$(nls 'MySQL user not configured properly')"'!' >&2
150                 nls "Edit %s and configure it." "$config_file" >&2
151                 exit 6
152         fi
153 }
154
155 # start mysql
156 mysqlstart() {
157         clusterdir="$1"
158         mysqlgetconfig "$clusterdir"
159         if [ ! -d "$MYSQL_DATA_DIR/mysql" ]; then
160                 nls "MySQL cluster %s not initialized." "$clusterdir"
161                 nls "Try \`%s init %s' before start." "$0" "$clusterdir"
162                 exit 6
163         fi
164
165         msg_starting "MySQL $clusterdir"
166         busy
167         [ -z "$DEFAULT_SERVICE_RUN_NICE_LEVEL" ] && DEFAULT_SERVICE_RUN_NICE_LEVEL=0
168         TMPDIR=/tmp nice -n ${SERVICE_RUN_NICE_LEVEL:-$DEFAULT_SERVICE_RUN_NICE_LEVEL} /usr/sbin/mysqld --defaults-file=$MYSQL_CONFIG --datadir=$MYSQL_DATA_DIR --pid-file=$MYSQL_PIDFILE >> $MYSQL_ERRLOG 2>&1 &
169         sleep 1
170         mysqlstatus "$clusterdir"
171         if [ "$MYSQL_STATUS" = "running" -a "$MYSQL_PID" != "unknown" ]; then
172                 ok
173         else
174                 RETVAL=1
175                 fail
176         fi
177 }
178
179 # stop mysql
180 mysqlstop() {
181         clusterdir="$1"
182         mysqlstatus "$clusterdir"
183         msg_stopping "MySQL $clusterdir"
184         busy
185         [ "$MYSQL_PID" != "unknown" ] && kill -TERM "$MYSQL_PID"
186         # 3 seconds
187         for nr in 1 2 3; do
188                 [ -d "/proc/$MYSQL_PID" ] && sleep 1
189         done
190         mysqlstatus "$clusterdir"
191         if [ "$MYSQL_STATUS" != "not running" ]; then
192                 fail
193         else
194                 ok
195         fi
196         rm -f "$MYSQL_PIDFILE"
197 }
198
199 #
200 # check for running mysql instances; if any instance is running then
201 # create subsys lock file
202 #
203 mysqlsubsys() {
204         # check for every defined db cluster in sysconfig file
205         for mysqldir in $DB_CLUSTERS; do
206                 mysqlstatus "$mysqldir"
207                 if [ "$MYSQL_STATUS" = "running" ]; then
208                         touch /var/lock/subsys/mysql
209                         return
210                 fi
211         done
212         rm -f /var/lock/subsys/mysql
213 }
214
215 mysqlinit() {
216         clusterdir="$1"
217         mysqlgetconfig "$clusterdir"
218
219         nls "Initializing cluster %s" "$clusterdir"
220
221         # Check if not exist init database
222         if [ -d "$MYSQL_DATA_DIR/mysql" ]; then
223                 nls "Seems that database is initialized now. Remove by hand %s" "$MYSQL_DATA_DIR/mysql"
224                 nls "before initializing database."
225                 nls "For now skipping cluster %s." "$clusterdir"
226                 return
227         fi
228
229         show "Creating privilege mysql tables for $MYSQL_DATA_DIR"
230         busy
231         TMP=/tmp TMPDIR=/tmp 
232
233                 
234         # Install this in the user table, too
235         hostname="`hostname --fqdn | tr -d '[:space:]'`"
236                 
237         # Check if hostname is valid
238         if [ -z "$hostname" ]; then
239                 deltext
240                 fail
241                 nls "Sorry, the host name is not configured."
242                 nls "Please configure the 'hostname' command to return a hostname."
243                 exit 1
244         elif ! hostname -i >/dev/null 2>&1; then 
245                 deltext
246                 fail
247                 nls "Sorry, the host '%s' could not be looked up." "$hostname"
248                 nls "Please configure the 'hostname' command to return a correct hostname."
249                 exit 1
250         fi
251
252         # Initialize variables
253         c_d="" i_d=""
254         c_h="" i_h=""
255         c_u="" i_u=""
256         c_f="" i_f=""
257         c_t="" c_c=""
258
259         # Check for old tables
260         if test ! -f $MYSQL_DATA_DIR/mysql/db.frm
261         then
262           # mysqld --bootstrap wants one command/line
263           c_d="$c_d CREATE TABLE db ("
264           c_d="$c_d   Host char(60) DEFAULT '' NOT NULL,"
265           c_d="$c_d   Db char(64) DEFAULT '' NOT NULL,"
266           c_d="$c_d   User char(16) DEFAULT '' NOT NULL,"
267           c_d="$c_d   Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
268           c_d="$c_d   Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
269           c_d="$c_d   Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
270           c_d="$c_d   Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
271           c_d="$c_d   Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
272           c_d="$c_d   Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
273           c_d="$c_d   Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
274           c_d="$c_d   References_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
275           c_d="$c_d   Index_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
276           c_d="$c_d   Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
277           c_d="$c_d   Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
278           c_d="$c_d   Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
279           c_d="$c_d PRIMARY KEY Host (Host,Db,User),"
280           c_d="$c_d KEY User (User)"
281           c_d="$c_d )"
282           c_d="$c_d comment='Database privileges';"
283
284           i_d="INSERT INTO db VALUES ('%','test','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y');
285           INSERT INTO db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y');"
286             
287         fi
288
289         if test ! -f $MYSQL_DATA_DIR/mysql/host.frm
290         then
291           c_h="$c_h CREATE TABLE host ("
292           c_h="$c_h  Host char(60) DEFAULT '' NOT NULL,"
293           c_h="$c_h  Db char(64) DEFAULT '' NOT NULL,"
294           c_h="$c_h  Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
295           c_h="$c_h  Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
296           c_h="$c_h  Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
297           c_h="$c_h  Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
298           c_h="$c_h  Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
299           c_h="$c_h  Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
300           c_h="$c_h  Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
301           c_h="$c_h  References_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
302           c_h="$c_h  Index_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
303           c_h="$c_h  Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
304           c_h="$c_h  Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
305           c_h="$c_h  Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
306           c_h="$c_h  PRIMARY KEY Host (Host,Db)"
307           c_h="$c_h )"
308           c_h="$c_h comment='Host privileges;  Merged with database privileges';"
309         fi
310
311         if test ! -f $MYSQL_DATA_DIR/mysql/user.frm
312         then
313           c_u="$c_u CREATE TABLE user ("
314           c_u="$c_u   Host char(60) DEFAULT '' NOT NULL,"
315           c_u="$c_u   User char(16) DEFAULT '' NOT NULL,"
316           c_u="$c_u   Password char(16) DEFAULT '' NOT NULL,"
317           c_u="$c_u   Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
318           c_u="$c_u   Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
319           c_u="$c_u   Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
320           c_u="$c_u   Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
321           c_u="$c_u   Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
322           c_u="$c_u   Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
323           c_u="$c_u   Reload_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
324           c_u="$c_u   Shutdown_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
325           c_u="$c_u   Process_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
326           c_u="$c_u   File_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
327           c_u="$c_u   Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
328           c_u="$c_u   References_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
329           c_u="$c_u   Index_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
330           c_u="$c_u   Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
331           c_u="$c_u   Show_db_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
332           c_u="$c_u   Super_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
333           c_u="$c_u   Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
334           c_u="$c_u   Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
335           c_u="$c_u   Execute_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
336           c_u="$c_u   Repl_slave_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
337           c_u="$c_u   Repl_client_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
338           c_u="$c_u   ssl_type enum('','ANY','X509', 'SPECIFIED') DEFAULT '' NOT NULL,"
339           c_u="$c_u   ssl_cipher BLOB NOT NULL,"
340           c_u="$c_u   x509_issuer BLOB NOT NULL,"
341           c_u="$c_u   x509_subject BLOB NOT NULL,"
342           c_u="$c_u   max_questions int(11) unsigned DEFAULT 0  NOT NULL,"
343           c_u="$c_u   max_updates int(11) unsigned DEFAULT 0  NOT NULL,"
344           c_u="$c_u   max_connections int(11) unsigned DEFAULT 0  NOT NULL,"
345           c_u="$c_u   PRIMARY KEY Host (Host,User)"
346           c_u="$c_u )"
347           c_u="$c_u comment='Users and global privileges';"
348
349           i_u="INSERT INTO user VALUES ('localhost','mysql','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0);
350           INSERT INTO user VALUES ('$hostname','mysql','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0);
351
352           REPLACE INTO user VALUES ('localhost','mysql','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0);
353           REPLACE INTO user VALUES ('$hostname','mysql','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0);
354
355           INSERT INTO user VALUES ('localhost','mysql_logrotate','','N','N','N','N','N','N','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','',0,0,0);"
356         fi
357
358         if test ! -f $MYSQL_DATA_DIR/mysql/func.frm
359         then
360           c_f="$c_f CREATE TABLE func ("
361           c_f="$c_f   name char(64) DEFAULT '' NOT NULL,"
362           c_f="$c_f   ret tinyint(1) DEFAULT '0' NOT NULL,"
363           c_f="$c_f   dl char(128) DEFAULT '' NOT NULL,"
364           c_f="$c_f   type enum ('function','aggregate') NOT NULL,"
365           c_f="$c_f   PRIMARY KEY (name)"
366           c_f="$c_f )"
367           c_f="$c_f   comment='User defined functions';"
368         fi
369
370         if test ! -f $MYSQL_DATA_DIR/mysql/tables_priv.frm
371         then
372           c_t="$c_t CREATE TABLE tables_priv ("
373           c_t="$c_t   Host char(60) DEFAULT '' NOT NULL,"
374           c_t="$c_t   Db char(64) DEFAULT '' NOT NULL,"
375           c_t="$c_t   User char(16) DEFAULT '' NOT NULL,"
376           c_t="$c_t   Table_name char(60) DEFAULT '' NOT NULL,"
377           c_t="$c_t   Grantor char(77) DEFAULT '' NOT NULL,"
378           c_t="$c_t   Timestamp timestamp(14),"
379           c_t="$c_t   Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter') DEFAULT '' NOT NULL,"
380           c_t="$c_t   Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL,"
381           c_t="$c_t   PRIMARY KEY (Host,Db,User,Table_name),"
382           c_t="$c_t   KEY Grantor (Grantor)"
383           c_t="$c_t )"
384           c_t="$c_t   comment='Table privileges';"
385         fi
386
387         if test ! -f $MYSQL_DATA_DIR/mysql/columns_priv.frm
388         then
389           c_c="$c_c CREATE TABLE columns_priv ("
390           c_c="$c_c   Host char(60) DEFAULT '' NOT NULL,"
391           c_c="$c_c   Db char(60) DEFAULT '' NOT NULL,"
392           c_c="$c_c   User char(16) DEFAULT '' NOT NULL,"
393           c_c="$c_c   Table_name char(60) DEFAULT '' NOT NULL,"
394           c_c="$c_c   Column_name char(60) DEFAULT '' NOT NULL,"
395           c_c="$c_c   Timestamp timestamp(14),"
396           c_c="$c_c   Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL,"
397           c_c="$c_c   PRIMARY KEY (Host,Db,User,Table_name,Column_name)"
398           c_c="$c_c )"
399           c_c="$c_c   comment='Column privileges';"
400         fi
401
402         mkdir -p "$MYSQL_DATA_DIR" > /dev/null 2>&1
403         chown -R mysql.mysql "$MYSQL_CLUSTER_DIR" > /dev/null 2>&1
404
405         if /usr/sbin/mysqld --bootstrap --skip-grant-tables \
406             --datadir=$MYSQL_DATA_DIR --user=$MYSQL_USER << END_OF_DATA
407 CREATE DATABASE mysql;
408 use mysql;
409 $c_d
410 $i_d
411
412 $c_h
413 $i_h
414
415 $c_u
416 $i_u
417
418 $c_f
419 $i_f
420
421 $c_t
422 $c_c
423 END_OF_DATA
424         then 
425             ok
426         cat << END_OF_MSG
427
428 PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL USERS!
429 This is done (after starting database) with:
430
431 /usr/bin/mysqladmin -u mysql password 'password'
432 /usr/bin/mysqladmin -h $hostname -u mysql password 'password'
433 /usr/bin/mysqladmin -u mysql_logrotate password 'password'
434
435 NOTE: mysql_logrotate password should be placed to $MYSQL_CONFIG in
436 mysqladmin section. See the manual for more instructions.
437
438 NOTE: if you are using cluster ability of this package you need
439 to specify different socket for each cluster (see --socket option)
440
441 END_OF_MSG
442       else  
443             fail
444             cat << END_OF_MSG
445 Installation of grant tables FAILED!
446
447 Examine the logs in $MYSQL_DATA_DIR for more information.  You can
448 also try to start the mysqld demon with:
449
450 /usr/sbin/mysqld --skip-grant &
451
452 You can use the command line tool /usr/bin/mysql to connect to the mysql
453 database and look at the grant tables:
454
455 shell> /usr/bin/mysql -u mysql mysql
456 mysql> show tables
457
458 Try 'mysqld --help' if you have problems with paths. Setting on
459 logging in /etc/mysqld.conf gives you a log in /var/log/mysql/log that
460 may be helpful. The latest information about MySQL is available on the
461 web at http://www.mysql.com/.
462
463 Please check PLD ftp site for newer versions of this package.
464
465 Please consult the MySQL manual section: 'Problems running
466 mysql_install_db', and the manual section that describes problems on
467 your OS.  Another information source is the MySQL email archive.
468 Please check all of the above before mailing us!  And if you do mail
469 us, you MUST use the /usr/bin/mysqlbug script!  
470
471 END_OF_MSG
472
473         exit 1
474         fi
475 }
476
477 #
478 # End of useful functions.
479 #
480
481 RETVAL=0
482 case "$action" in
483   start)
484         if [ ! -f $MYSQL_ERRLOG ]; then
485                 touch $MYSQL_ERRLOG
486         fi
487         chown mysql.mysql $MYSQL_ERRLOG
488         chmod 640 $MYSQL_ERRLOG
489
490         for mysqldir in $DB_CLUSTERS; do
491                 mysqlstatus "$mysqldir"
492                 if [ "$MYSQL_STATUS" = "running" ]; then
493                         msg_already_running "MySQL $mysqldir"
494                 else
495                         mysqlstart "$mysqldir"
496                 fi
497         done
498         mysqlsubsys
499         ;;
500   stop)
501         for mysqldir in $DB_CLUSTERS; do
502                 mysqlstatus "$mysqldir"
503                 if [ "$MYSQL_STATUS" = "not running" ]; then
504                         msg_not_running "MySQL $mysqldir"
505                 else
506                         mysqlstop "$mysqldir"
507                 fi
508         done
509         mysqlsubsys
510         ;;
511   status)
512         for mysqldir in $DB_CLUSTERS; do
513                 mysqlstatus "$mysqldir"
514                 echo "MySQL cluster $mysqldir: $MYSQL_STATUS"
515         done
516         exit $?
517         ;;
518   restart|force-reload)
519         $0 stop
520         $0 start
521         exit $?
522         ;;
523   init)
524         for mysqldir in $DB_CLUSTERS; do
525                 mysqlinit "$mysqldir"
526         done
527         ;;
528   *)
529         msg_usage "$0 {start|stop|init|restart|force-reload|status}"
530         exit 3
531 esac
532
533 exit $RETVAL
This page took 0.069344 seconds and 4 git commands to generate.