summaryrefslogtreecommitdiffstats
path: root/main/mysql/mysql.initd
diff options
context:
space:
mode:
Diffstat (limited to 'main/mysql/mysql.initd')
-rw-r--r--main/mysql/mysql.initd63
1 files changed, 41 insertions, 22 deletions
diff --git a/main/mysql/mysql.initd b/main/mysql/mysql.initd
index c55b76121..698067d49 100644
--- a/main/mysql/mysql.initd
+++ b/main/mysql/mysql.initd
@@ -1,39 +1,58 @@
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/dev-db/mysql/files/mysql.init,v 1.7 2004/07/14 21:41:15 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-db/mysql/files/mysql.init,v 1.7 2004/07/14 21:41:15 agriffis Exp $
+
+opts="${opts} setup"
+pidfile=/var/run/mysqld/mysqld.pid
depend() {
- need net
- after firewall
- use dns
+ need net
+ after firewall
+ use dns
+}
+
+setup() {
+ ebegin "Creating a new MySQL database"
+ mysql_install_db --user=mysql --rpm
+ eend $?
}
checkconfig() {
- if [ ! -f /etc/mysql/my.cnf ] ; then
- eerror "No /etc/mysql/my.cnf file exists!"
- fi
+ if [ ! -f /etc/mysql/my.cnf ] ; then
+ eerror "No /etc/mysql/my.cnf file exists!"
+ fi
- dir=`my_print_defaults -c /etc/mysql/my.cnf mysqld | grep -- --datadir | sed -e "s|^.*=\(.*\)|\1|"`
+ dir=`my_print_defaults mysqld | grep -- --datadir | sed -e "s|^.*=\(.*\)|\1|"`
- if [ ! -d $dir/mysql ] ; then
- eerror "You dont appear to have the mysql database installed yet."
- eerror "Please run /usr/bin/mysql_install_db --user=mysql to have this done..."
- return 1
- fi
+ dir=${dir:-/var/lib/mysql}
+ [ -d ${dir}/mysql ] && return 0
+
+ if [ -z "$AUTO_SETUP" ] ; then
+ eerror "Database not found in $dir"
+ eerror "You can run '/etc/init.d/mysql setup' to setup a new database."
+ return 1
+ fi
+ setup
}
start() {
- checkconfig || return 1
- ebegin "Starting mysqld"
- /usr/bin/mysqld_safe --defaults-file=/etc/mysql/my.cnf >/dev/null 2>&1 &
- eend $?
+ checkconfig || return 1
+ ebegin "Starting mysqld"
+ start-stop-daemon --pidfile $pidfile \
+ --start \
+ --background \
+ --stdout /dev/null \
+ --stderr /dev/null \
+ --wait 500 \
+ -- \
+ /usr/bin/mysqld_safe --pid-file=$pidfile
+ eend $?
}
stop () {
- ebegin "Stopping mysqld"
- start-stop-daemon --stop --quiet \
- --pidfile=/var/run/mysqld/mysqld.pid --retry 20
- eend $?
+ ebegin "Stopping mysqld"
+ start-stop-daemon --stop --quiet \
+ --pidfile $pidfile --retry 20
+ eend $?
}
-