aboutsummaryrefslogtreecommitdiffstats
path: root/main/mysql/mysql.initd
diff options
context:
space:
mode:
Diffstat (limited to 'main/mysql/mysql.initd')
-rw-r--r--main/mysql/mysql.initd58
1 files changed, 58 insertions, 0 deletions
diff --git a/main/mysql/mysql.initd b/main/mysql/mysql.initd
new file mode 100644
index 0000000000..698067d49d
--- /dev/null
+++ b/main/mysql/mysql.initd
@@ -0,0 +1,58 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $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
+}
+
+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
+
+ dir=`my_print_defaults mysqld | grep -- --datadir | sed -e "s|^.*=\(.*\)|\1|"`
+
+ 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"
+ 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 $pidfile --retry 20
+ eend $?
+}