3 # mysql A very fast and reliable SQL database engine
5 # chkconfig: 2345 84 25
7 # description: A very fast and reliable SQL database engine.
10 # Source function library
11 . /etc/rc.d/init.d/functions
14 . /etc/sysconfig/network
17 if [ -f /etc/sysconfig/mysql ]; then
18 . /etc/sysconfig/mysql
20 nls "Error: %s not found" /etc/sysconfig/mysql
21 nls " MySQL can't be run."
25 if [ -n "$MYSQL_DB_CLUSTERS" ]; then
26 nls "Warning: MYSQL_DB_CLUSTERS is set. It's obsolete. Use %s instead." /etc/mysql/clusters.conf
29 [ -f /etc/mysql/clusters.conf ] && MYSQL_DB_CLUSTERS=$(grep -v '^#' /etc/mysql/clusters.conf | cut -s -f 2 -d '=')
31 if [ -z "$MYSQL_DB_CLUSTERS" ]; then
32 nls "Warning: Missing clusters config file %s" /etc/mysql/clusters.conf
33 nls "Warning: or there is no configured clusters in it."
34 nls "Using default cluster /var/lib/mysql (compatibility mode)"
35 MYSQL_DB_CLUSTERS=/var/lib/mysql
38 # Check that networking is up
39 if is_yes "${NETWORKING}"; then
40 if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status -a "$1" != init ]; then
41 msg_network_down MySQL
50 # any db cluster as command line argument?
53 # perform action for specified clusters only
56 DB_CLUSTERS="$MYSQL_DB_CLUSTERS"
59 MYSQL_ERRLOG=/var/log/mysql/err
66 # check for mysql status
72 # MYSQL_STATUS = running | not running
73 # MYSQL_PID = pid of mysqld process
77 mysqlgetconfig "$clusterdir"
79 MYSQL_STATUS="not running"
82 [ -f "$MYSQL_PIDFILE" ] && MYSQL_PID=$(cat "$MYSQL_PIDFILE")
84 if [ ! -d "/proc/$MYSQL_PID" -a "$MYSQL_PID" != "unknown" ]; then
86 elif [ -d "/proc/$MYSQL_PID" ]; then
87 grep -qa "$MYSQL_PIDFILE" /proc/$MYSQL_PID/cmdline && MYSQL_STATUS="running" || MYSQL_STATUS="not running"
91 # get mysql configuration in variables
92 # MYSQL_CONFIG MYSQL_DATA_DIR MYSQL_USER MYSQL_PIDFILE
100 # emulate old behaviour if only one cluster specified
101 if [ "$clusterdir" = "$MYSQL_DB_CLUSTERS" -a "$clusterdir" = "/var/lib/mysql" -a -f /etc/mysqld.conf ]; then
102 MYSQL_RA_COMPAT=yes; export MYSQL_RA_COMPAT
103 config_file=/etc/mysqld.conf
105 # TODO: convert this piece of crap to awk
106 config=`grep -v "^#" /etc/mysql/clusters.conf | grep "${clusterdir}$" | cut -s -f 1 -d '='`
107 if echo "$config" | grep -q '^/'; then
108 config_file="$config"
109 elif [ -f "/etc/mysql/$config" ]; then
110 config_file=/etc/mysql/$config
112 config_file="$clusterdir/mysqld.conf"
116 MYSQL_CLUSTER_DIR="$clusterdir"; export MYSQL_CLUSTER_DIR
118 if [ -z "$config_file" ]; then
119 nls "Error: Can't find config file for %s cluster" "$clusterdir"
122 MYSQL_CONFIG="$config_file"; export MYSQL_CONFIG
125 if [ ! -f "$config_file" ]; then
126 nls "Error: config file %s not found" "$config_file"
127 nls "MySQL can't be run. Did you initialize DB by doing \`$0 init'?"
132 /^[ \t]*\[.*\][ \t]*$/ {
134 section=substr($0,RSTART+1,RSTART+RLENGTH-3)
136 section=="mysqld" && $2~"=" {
138 printf("MYSQL_DATA_DIR=%s;", $3)
139 } else if ($1=="user") {
140 printf("MYSQL_USER=%s;", $3)
141 } else if ($1=="pid-file") {
142 printf("MYSQL_PIDFILE=%s;", $3)
143 } else if ($1=="socket") {
144 printf("MYSQL_SOCKET=%s;", $3)
148 print "export MYSQL_DATA_DIR MYSQL_USER MYSQL_PIDFILE MYSQL_SOCKET"
153 if is_yes "$MYSQL_RA_COMPAT"; then
154 MYSQL_DATA_DIR_SUB=""
156 MYSQL_DATA_DIR_SUB="/mysqldb"
159 if [ -z "$MYSQL_DATA_DIR" -o "$MYSQL_DATA_DIR" != "${clusterdir}${MYSQL_DATA_DIR_SUB}/db" ]; then
160 nls "Error: datadir specified in %s should be %s" "$config_file" "$clusterdir${MYSQL_DATA_DIR_SUB}/db"
161 nls " MySQL can't be run."
165 if [ -z "$MYSQL_PIDFILE" -o "$MYSQL_PIDFILE" != "$clusterdir${MYSQL_DATA_DIR_SUB}/mysql.pid" ]; then
166 nls "Error: pid-file specified in %s should be %s" "$config_file" "$clusterdir${MYSQL_DATA_DIR_SUB}/mysql.pid"
167 nls " MySQL can't be run."
171 if [ -z $MYSQL_USER ]; then
172 echo "$(nls 'MySQL user not configured properly')"'!' >&2
173 nls "Edit %s and configure it." "$config_file" >&2
181 mysqlgetconfig "$clusterdir"
182 if [ ! -d "$MYSQL_DATA_DIR/mysql" ]; then
183 nls "MySQL cluster %s not initialized." "$clusterdir"
184 nls "Try \`%s init %s' before start." "$0" "$clusterdir"
188 msg_starting "MySQL $clusterdir"
190 [ -z "$DEFAULT_SERVICE_RUN_NICE_LEVEL" ] && DEFAULT_SERVICE_RUN_NICE_LEVEL=0
191 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_ERRLOG 2>&1 &
193 mysqlstatus "$clusterdir"
194 if [ "$MYSQL_STATUS" = "running" -a "$MYSQL_PID" != "unknown" ]; then
196 elif [ "$MYSQL_STATUS" = "died" ]; then
208 mysqlstatus "$clusterdir"
209 msg_stopping "MySQL $clusterdir"
211 [ "$MYSQL_PID" != "unknown" ] && kill -TERM "$MYSQL_PID" 2> /dev/null
214 [ -d "/proc/$MYSQL_PID" ] && sleep 1
216 mysqlstatus "$clusterdir"
217 if [ "$MYSQL_STATUS" = "died" ]; then
219 elif [ "$MYSQL_STATUS" = "running" ]; then
224 rm -f "$MYSQL_PIDFILE"
228 # check for running mysql instances; if any instance is running then
229 # create subsys lock file
232 # check for every defined db cluster in sysconfig file
233 for mysqldir in $DB_CLUSTERS; do
234 mysqlstatus "$mysqldir"
235 if [ "$MYSQL_STATUS" = "running" ]; then
236 touch /var/lock/subsys/mysql
240 rm -f /var/lock/subsys/mysql
246 if [ -f /etc/mysqld.conf ]; then
247 nls "Running in \`no cluster compat' mode: can't initialize database."
248 nls "Move /etc/mysqld.conf away and rerun \`$0 init' (new config will be in $clusterdir)."
252 if [ -f "$clusterdir/mysqld.conf" ]; then
253 mysqlgetconfig "$clusterdir"
256 MYSQL_CLUSTER_DIR="$clusterdir"
257 MYSQL_DATA_DIR="$clusterdir/mysqldb/db"
258 MYSQL_PIDFILE="$clusterdir/mysqldb/mysql.pid"
259 MYSQL_SOCKET="$clusterdir/mysqldb/mysql.sock"
262 nls "Initializing cluster %s" "$clusterdir"
264 # Check if not exist init database
265 if [ -d "$MYSQL_DATA_DIR/mysql" ]; then
266 nls "Seems that database is initialized now. Remove by hand %s" "$MYSQL_DATA_DIR/mysqldb/mysql"
267 nls "before initializing database."
268 nls "For now skipping cluster %s." "$clusterdir"
272 show "Creating privilege mysql tables for $MYSQL_DATA_DIR"
277 # Install this in the user table, too
278 hostname="`hostname --fqdn 2> /dev/null | tr -d '[:space:]'`"
279 [ -z "$hostname" ] && hostname="localhost-unknown"
281 # Check if hostname is valid
282 if [ -z "$hostname" ]; then
285 nls "Sorry, the host name is not configured."
286 nls "Please configure the 'hostname' command to return a hostname."
288 elif ! hostname -i >/dev/null 2>&1; then
291 nls "Sorry, the host '%s' could not be looked up." "$hostname"
292 nls "Please configure the 'hostname' command to return a correct hostname."
296 # Initialize variables
303 # Check for old tables
304 if test ! -f $MYSQL_DATA_DIR/mysqldb/mysql/db.frm
306 # mysqld --bootstrap wants one command/line
307 c_d="$c_d CREATE TABLE db ("
308 c_d="$c_d Host char(60) DEFAULT '' NOT NULL,"
309 c_d="$c_d Db char(64) DEFAULT '' NOT NULL,"
310 c_d="$c_d User char(16) DEFAULT '' NOT NULL,"
311 c_d="$c_d Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
312 c_d="$c_d Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
313 c_d="$c_d Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
314 c_d="$c_d Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
315 c_d="$c_d Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
316 c_d="$c_d Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
317 c_d="$c_d Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
318 c_d="$c_d References_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
319 c_d="$c_d Index_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
320 c_d="$c_d Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
321 c_d="$c_d Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
322 c_d="$c_d Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
323 c_d="$c_d PRIMARY KEY Host (Host,Db,User),"
324 c_d="$c_d KEY User (User)"
326 c_d="$c_d CHARACTER SET utf8 COLLATE utf8_bin"
327 c_d="$c_d comment='Database privileges';"
329 i_d="INSERT INTO db VALUES ('%','test','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y');
330 INSERT INTO db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y');"
334 if test ! -f $MYSQL_DATA_DIR/mysqldb/mysql/host.frm
336 c_h="$c_h CREATE TABLE host ("
337 c_h="$c_h Host char(60) DEFAULT '' NOT NULL,"
338 c_h="$c_h Db char(64) DEFAULT '' NOT NULL,"
339 c_h="$c_h Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
340 c_h="$c_h Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
341 c_h="$c_h Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
342 c_h="$c_h Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
343 c_h="$c_h Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
344 c_h="$c_h Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
345 c_h="$c_h Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
346 c_h="$c_h References_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
347 c_h="$c_h Index_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
348 c_h="$c_h Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
349 c_h="$c_h Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
350 c_h="$c_h Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
351 c_h="$c_h PRIMARY KEY Host (Host,Db)"
353 c_h="$c_h CHARACTER SET utf8 COLLATE utf8_bin"
354 c_h="$c_h comment='Host privileges; Merged with database privileges';"
357 if test ! -f $MYSQL_DATA_DIR/mysqldb/mysql/user.frm
359 c_u="$c_u CREATE TABLE user ("
360 c_u="$c_u Host char(60) DEFAULT '' NOT NULL,"
361 c_u="$c_u User char(16) DEFAULT '' NOT NULL,"
362 c_u="$c_u Password char(41) DEFAULT '' NOT NULL,"
363 c_u="$c_u Select_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
364 c_u="$c_u Insert_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
365 c_u="$c_u Update_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
366 c_u="$c_u Delete_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
367 c_u="$c_u Create_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
368 c_u="$c_u Drop_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
369 c_u="$c_u Reload_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
370 c_u="$c_u Shutdown_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
371 c_u="$c_u Process_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
372 c_u="$c_u File_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
373 c_u="$c_u Grant_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
374 c_u="$c_u References_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
375 c_u="$c_u Index_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
376 c_u="$c_u Alter_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
377 c_u="$c_u Show_db_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
378 c_u="$c_u Super_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
379 c_u="$c_u Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
380 c_u="$c_u Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
381 c_u="$c_u Execute_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
382 c_u="$c_u Repl_slave_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
383 c_u="$c_u Repl_client_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
384 c_u="$c_u ssl_type enum('','ANY','X509', 'SPECIFIED') DEFAULT '' NOT NULL,"
385 c_u="$c_u ssl_cipher BLOB NOT NULL,"
386 c_u="$c_u x509_issuer BLOB NOT NULL,"
387 c_u="$c_u x509_subject BLOB NOT NULL,"
388 c_u="$c_u max_questions int(11) unsigned DEFAULT 0 NOT NULL,"
389 c_u="$c_u max_updates int(11) unsigned DEFAULT 0 NOT NULL,"
390 c_u="$c_u max_connections int(11) unsigned DEFAULT 0 NOT NULL,"
391 c_u="$c_u PRIMARY KEY Host (Host,User)"
393 c_u="$c_u CHARACTER SET utf8 COLLATE utf8_bin"
394 c_u="$c_u comment='Users and global privileges';"
396 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);
397 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);
399 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);
400 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);
402 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);"
405 if test ! -f $MYSQL_DATA_DIR/mysqldb/mysql/func.frm
407 c_f="$c_f CREATE TABLE func ("
408 c_f="$c_f name char(64) DEFAULT '' NOT NULL,"
409 c_f="$c_f ret tinyint(1) DEFAULT '0' NOT NULL,"
410 c_f="$c_f dl char(128) DEFAULT '' NOT NULL,"
411 c_f="$c_f type enum ('function','aggregate') NOT NULL,"
412 c_f="$c_f PRIMARY KEY (name)"
414 c_f="$c_f CHARACTER SET utf8 COLLATE utf8_bin"
415 c_f="$c_f comment='User defined functions';"
418 if test ! -f $MYSQL_DATA_DIR/mysqldb/mysql/tables_priv.frm
420 c_t="$c_t CREATE TABLE tables_priv ("
421 c_t="$c_t Host char(60) DEFAULT '' NOT NULL,"
422 c_t="$c_t Db char(64) DEFAULT '' NOT NULL,"
423 c_t="$c_t User char(16) DEFAULT '' NOT NULL,"
424 c_t="$c_t Table_name char(60) DEFAULT '' NOT NULL,"
425 c_t="$c_t Grantor char(77) DEFAULT '' NOT NULL,"
426 c_t="$c_t Timestamp timestamp(14),"
427 c_t="$c_t Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter') DEFAULT '' NOT NULL,"
428 c_t="$c_t Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL,"
429 c_t="$c_t PRIMARY KEY (Host,Db,User,Table_name),"
430 c_t="$c_t KEY Grantor (Grantor)"
432 c_t="$c_t CHARACTER SET utf8 COLLATE utf8_bin"
433 c_t="$c_t comment='Table privileges';"
436 if test ! -f $MYSQL_DATA_DIR/mysqldb/mysql/columns_priv.frm
438 c_c="$c_c CREATE TABLE columns_priv ("
439 c_c="$c_c Host char(60) DEFAULT '' NOT NULL,"
440 c_c="$c_c Db char(64) DEFAULT '' NOT NULL,"
441 c_c="$c_c User char(16) DEFAULT '' NOT NULL,"
442 c_c="$c_c Table_name char(64) DEFAULT '' NOT NULL,"
443 c_c="$c_c Column_name char(64) DEFAULT '' NOT NULL,"
444 c_c="$c_c Timestamp timestamp(14),"
445 c_c="$c_c Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL,"
446 c_c="$c_c PRIMARY KEY (Host,Db,User,Table_name,Column_name)"
448 c_c="$c_c CHARACTER SET utf8 COLLATE utf8_bin"
449 c_c="$c_c comment='Column privileges';"
452 mkdir -p "$MYSQL_DATA_DIR" > /dev/null 2>&1
453 # Using mysql:mysql for MYSQL_CLUSTER_DIR is creating SECURITY hole, root:root is proper
454 chown root:root "$MYSQL_CLUSTER_DIR"
455 chown mysql:mysql "$MYSQL_CLUSTER_DIR/mysqldb" "$MYSQL_DATA_DIR" > /dev/null 2>&1
456 chmod 751 "$MYSQL_CLUSTER_DIR" "$MYSQL_CLUSTER_DIR/mysqldb"
458 if [ -f /usr/share/mysql/mysqld.conf -a ! -f "$MYSQL_CLUSTER_DIR/mysqld.conf" ]; then
459 sed -e "s#datadir.*=.*#datadir = $MYSQL_DATA_DIR#g" \
460 -e "s#pid-file.*=.*#pid-file = $MYSQL_PIDFILE#g" \
461 -e "s#socket.*=.*#socket = $MYSQL_SOCKET#g" \
462 /usr/share/mysql/mysqld.conf > "$MYSQL_CLUSTER_DIR/mysqld.conf"
463 chown root:root "$MYSQL_CLUSTER_DIR/mysqld.conf"
464 chmod 640 "$MYSQL_CLUSTER_DIR/mysqld.conf"
467 if [ ! -e /var/lib/mysql/mysql.sock ]; then
468 ln -s "$MYSQL_SOCKET" /var/lib/mysql/mysql.sock
471 if /usr/sbin/mysqld --bootstrap --skip-grant-tables \
472 --datadir=$MYSQL_DATA_DIR --user=$MYSQL_USER << END_OF_DATA
473 CREATE DATABASE mysql;
494 PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL USERS!
495 This is done (after starting database) with:
497 /usr/bin/mysqladmin -u mysql -S $MYSQL_SOCKET password 'password'
498 /usr/bin/mysqladmin -h $hostname -u mysql -S $MYSQL_SOCKET password 'password'
499 /usr/bin/mysqladmin -u mysql_logrotate -S $MYSQL_SOCKET password 'password'
501 NOTE: mysql_logrotate password should be placed to $MYSQL_CONFIG in
502 mysqladmin section. See the manual for more instructions.
504 IMPORTANT: The configuration file is mysqld.conf in MYSQ_DB_CLUSTERS directories.
510 Installation of grant tables FAILED!
512 Examine the logs in $MYSQL_DATA_DIR for more information. You can
513 also try to start the mysqld demon with:
515 /usr/sbin/mysqld --skip-grant &
517 You can use the command line tool /usr/bin/mysql to connect to the mysql
518 database and look at the grant tables:
520 shell> /usr/bin/mysql -u mysql mysql
523 Try 'mysqld --help' if you have problems with paths. Setting on
524 logging in /etc/mysqld.conf gives you a log in /var/log/mysql/log that
525 may be helpful. The latest information about MySQL is available on the
526 web at http://www.mysql.com/.
528 Please check PLD ftp site for newer versions of this package.
530 Please consult the MySQL manual section: 'Problems running
531 mysql_install_db', and the manual section that describes problems on
532 your OS. Another information source is the MySQL email archive.
533 Please check all of the above before mailing us! And if you do mail
534 us, you MUST use the /usr/bin/mysqlbug script!
543 # End of useful functions.
549 if [ ! -f $MYSQL_ERRLOG ]; then
552 chown mysql:mysql $MYSQL_ERRLOG
553 chmod 640 $MYSQL_ERRLOG
555 for mysqldir in $DB_CLUSTERS; do
556 mysqlstatus "$mysqldir"
557 if [ "$MYSQL_STATUS" = "running" ]; then
558 msg_already_running "MySQL $mysqldir"
560 mysqlstart "$mysqldir"
566 for mysqldir in $DB_CLUSTERS; do
567 mysqlstatus "$mysqldir"
568 if [ "$MYSQL_STATUS" = "not running" ]; then
569 msg_not_running "MySQL $mysqldir"
571 mysqlstop "$mysqldir"
578 for mysqldir in $DB_CLUSTERS; do
579 mysqlstatus "$mysqldir"
580 echo "MySQL cluster $mysqldir: $MYSQL_STATUS"
584 restart|force-reload)
590 for mysqldir in $DB_CLUSTERS; do
591 mysqlinit "$mysqldir"
596 for mysqldir in $DB_CLUSTERS; do
597 mysqlgetconfig "$mysqldir"
598 /usr/bin/mysqladmin --defaults-file="$MYSQL_CONFIG" --socket="$MYSQL_SOCKET" flush-logs
602 msg_usage "$0 {start|stop|init|restart|force-reload|status}"
608 # vi: shiftwidth=4 tabstop=4