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