diff options
Diffstat (limited to 'main/mysql/mysql.initd')
-rw-r--r-- | main/mysql/mysql.initd | 58 |
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 $? +} |