From 975befa3e304631a57dc469805d83bf86ac82d10 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Fri, 1 Apr 2011 14:16:00 +0000 Subject: main/mysql: upgrade to 5.5.10, again * Create mysql-common subpackage for common files * Fix dynamic linking for client apps * Fix init.d script - let user create db with 'setup' * Use my-medium.cnf example config as default config --- main/mysql/mysql.initd | 63 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 41 insertions(+), 22 deletions(-) (limited to 'main/mysql/mysql.initd') diff --git a/main/mysql/mysql.initd b/main/mysql/mysql.initd index c55b76121a..698067d49d 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 $? } - -- cgit v1.2.3