Nieuws:

Ubuntu-NL weer online!

Na een periode van technische problemen en een overbelaste server zijn we eindelijk weer bereikbaar.
Samen met Hobbynet, onze sponsor en hostingpartner, hebben we een oplossing gevonden zodat alles weer soepel draait.

Bedankt voor jullie geduld en begrip. We hopen nu weer verder te gaan waar we gebleven waren.

Het team van Ubuntu-NL

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [OPGELOST] MySQL start niet meer automatisch op  (gelezen 2175 keer)

Offline kophi

  • Lid
[OPGELOST] MySQL start niet meer automatisch op
« Gepost op: 2009/01/12, 20:45:58 »
Heb na wat updates her er der van Ubunu 8.04 problemen met XAMPP.

De MySQL database start niet meer automatisch op en ik weet niet meer hoe ik het automatisch laat opstarten. Graag wat hulp voor mij.
« Laatst bewerkt op: 2010/03/23, 12:43:55 door kophi »

Re: MySQL start niet meer automatisch op
« Reactie #1 Gepost op: 2009/01/12, 21:44:12 »
Heb je al gekeken in /etc/init.d daar staan scripts om services op te starten of te stoppen. Ik weet niet zo gauw iets anders, hierbij mijn scripts, misschien kan je er iets mee
#!/bin/bash
#
### BEGIN INIT INFO
# Provides:          mysql
# Required-Start:    $remote_fs $syslog mysql-ndb
# Required-Stop:     $remote_fs $syslog mysql-ndb
# Should-Start:      $network $named $time
# Should-Stop:       $network $named $time
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start and stop the mysql database server daemon
# Description:       Controls the main MySQL database server daemon "mysqld"
#                    and its wrapper script "mysqld_safe".
### END INIT INFO
#
set -e
set -u
${DEBIAN_SCRIPT_DEBUG:+ set -v -x}

test -x /usr/sbin/mysqld || exit 0

. /lib/lsb/init-functions

SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
CONF=/etc/mysql/my.cnf
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"

# priority can be overriden and "-s" adds output to stderr
ERR_LOGGER="logger -p daemon.err -t /etc/init.d/mysql -i"

# Safeguard (relative paths, core dumps..)
cd /
umask 077

# mysqladmin likes to read /root/.my.cnf. This is usually not what I want
# as many admins e.g. only store a password without a username there and
# so break my scripts.
export HOME=/etc/mysql/

## Fetch a particular option from mysql's invocation.
#
# Usage: void mysqld_get_param option
mysqld_get_param() {
/usr/sbin/mysqld --print-defaults \
| tr " " "\n" \
| grep -- "--$1" \
| tail -n 1 \
| cut -d= -f2
}

## Do some sanity checks before even trying to start mysqld.
sanity_checks() {
  # check for config file
  if [ ! -r /etc/mysql/my.cnf ]; then
    log_warning_msg "$0: WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz"
    echo                "WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz" | $ERR_LOGGER
  fi

  # check for diskspace shortage
  datadir=`mysqld_get_param datadir`
  if LC_ALL=C BLOCKSIZE= df --portability $datadir/. | tail -n 1 | awk '{ exit ($4>4096) }'; then
    log_failure_msg "$0: ERROR: The partition with $datadir is too full!"
    echo                "ERROR: The partition with $datadir is too full!" | $ERR_LOGGER
    exit 1
  fi
}

## Checks if there is a server running and if so if it is accessible.
#
# check_alive insists on a pingable server
# check_dead also fails if there is a lost mysqld in the process list
#
# Usage: boolean mysqld_status [check_alive|check_dead] [warn|nowarn]
mysqld_status () {
    ping_output=`$MYADMIN ping 2>&1`; ping_alive=$(( ! $? ))

    ps_alive=0
    pidfile=`mysqld_get_param pid-file`
    if [ -f "$pidfile" ] && ps `cat $pidfile` >/dev/null 2>&1; then ps_alive=1; fi
   
    if [ "$1" = "check_alive"  -a  $ping_alive = 1 ] ||
       [ "$1" = "check_dead"   -a  $ping_alive = 0  -a  $ps_alive = 0 ]; then
return 0 # EXIT_SUCCESS
    else
  if [ "$2" = "warn" ]; then
      echo -e "$ps_alive processes alive and '$MYADMIN ping' resulted in\n$ping_output\n" | $ERR_LOGGER -p daemon.debug
fi
  return 1 # EXIT_FAILURE
    fi
}

#
# main()
#

case "${1:-''}" in
  'start')
sanity_checks;
# Start daemon
log_daemon_msg "Starting MySQL database server" "mysqld"
if mysqld_status check_alive nowarn; then
   log_progress_msg "already running"
   log_end_msg 0
else
      /usr/bin/mysqld_safe > /dev/null 2>&1 &
    # 6s was reported in #352070 to be too few when using ndbcluster
    for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14; do
                sleep 1
        if mysqld_status check_alive nowarn ; then break; fi
log_progress_msg "."
    done
    if mysqld_status check_alive warn; then
                log_end_msg 0
        # Now start mysqlcheck or whatever the admin wants.
        output=$(/etc/mysql/debian-start)
[ -n "$output" ] && log_action_msg "$output"
    else
        log_end_msg 1
log_failure_msg "Please take a look at the syslog"
    fi
fi

# Some warnings
        if $MYADMIN variables | egrep -q have_bdb.*YES; then
            echo "BerkeleyDB is obsolete, see /usr/share/doc/mysql-server-5.0/README.Debian.gz" | $ERR_LOGGER -p daemon.info
        fi
        if [ -f /etc/mysql/debian-log-rotate.conf ]; then
            echo "/etc/mysql/debian-log-rotate.conf is obsolete, see /usr/share/doc/mysql-server-5.0/NEWS.Debian.gz" | $ERR_LOGGER -p daemon.info
        fi
;;

  'stop')
# * As a passwordless mysqladmin (e.g. via ~/.my.cnf) must be possible
# at least for cron, we can rely on it here, too. (although we have
# to specify it explicit as e.g. sudo environments points to the normal
# users home and not /root)
log_daemon_msg "Stopping MySQL database server" "mysqld"
if ! mysqld_status check_dead nowarn; then
  set +e
  shutdown_out=`$MYADMIN shutdown 2>&1`; r=$?
  set -e
  if [ "$r" -ne 0 ]; then
    log_end_msg 1
    [ "$VERBOSE" != "no" ] && log_failure_msg "Error: $shutdown_out"
    log_daemon_msg "Killing MySQL database server by signal" "mysqld"
    killall -15 mysqld
            server_down=
    for i in 1 2 3 4 5 6 7 8 9 10; do
              sleep 1
              if mysqld_status check_dead nowarn; then server_down=1; break; fi
            done
          if test -z "$server_down"; then killall -9 mysqld; fi
  fi
        fi

        if ! mysqld_status check_dead warn; then
  log_end_msg 1
  log_failure_msg "Please stop MySQL manually and read /usr/share/doc/mysql-server-5.0/README.Debian.gz!"
  exit -1
else
  log_end_msg 0
        fi
;;

  'restart')
set +e; $SELF stop; set -e
$SELF start
;;

  'reload'|'force-reload')
  log_daemon_msg "Reloading MySQL database server" "mysqld"
$MYADMIN reload
log_end_msg 0
;;

  'status')
if mysqld_status check_alive nowarn; then
  log_action_msg "$($MYADMIN version)"
else
  log_action_msg "MySQL is stopped."
  exit 3
fi
  ;;

  *)
echo "Usage: $SELF start|stop|restart|reload|force-reload|status"
exit 1
;;
esac [/quote]
en
[quote=Mysql-ndb]#!/bin/bash
#
### BEGIN INIT INFO
# Provides:          mysql-ndb
# Required-Start:    $remote_fs $syslog mysql-ndb-mgm
# Required-Stop:     $remote_fs $syslog mysql-ndb-mgm
# Should-Start:      $network $named $time
# Should-Stop:       $network $named $time
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start and stop the mysql database cluster server daemon
# Description:       Controls the MySQL NDB Data Node daemon "ndbd".
### END INIT INFO
#
set -e
set -u
${DEBIAN_SCRIPT_DEBUG:+ set -v -x}

# Variables
SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
DAEMON=/usr/sbin/ndbd
CONF=/etc/mysql/my.cnf
export HOME=/etc/mysql/

# Safeguard (relative paths, core dumps..)
cd /
umask 077

# Exit *silently* if we're not supposed to be started.
#
# The Debian scripts should execute these scripts to stop and start
# the daemon when upgrading if it is started. On the other hand it should
# remain silently if the server has not even been configured.
# See /usr/share/doc/mysql-server-*/README.Debian for more information.
test -x $DAEMON || exit 0
if $DAEMON --help | grep -q '^ndb-connectstring.*No default value'; then exit 0; fi
. /lib/lsb/init-functions

#
# main()
#
case "${1:-''}" in
  'start')
# Start daemon
        # Creatign a PID file does not work as the master process forks
        # a child with different PID and then terminates itself.
log_daemon_msg "Starting MySQL NDB Data Node" "ndbd"
if start-stop-daemon \
--start \
--exec $DAEMON \
--user mysql
then
  log_end_msg 0
else
  log_end_msg 1
  log_warning_msg "Please take a look at the syslog."
  exit 1
fi  
;;

  'start-initial')
        # Perform an initial start of ndbd
        log_daemon_msg "Initial start of MySQL NDB Data Node" "ndbd"
        if start-stop-daemon \
                --start \
                --exec $DAEMON \
                --user mysql \
                -- --initial
        then
          log_end_msg 0
        else
          log_end_msg 1
          log_warning_msg "Please take a look at the syslog."
          exit 1
        fi 
        ;;

  'stop')
log_daemon_msg "Stopping MySQL NDB Data Node" "ndbd"
if start-stop-daemon \
--stop \
--oknodo \
--exec $DAEMON
then
  log_end_msg 0
else
  log_end_msg 1
  exit 1
        fi
;;

  'restart'|'force-reload')
set +e; $SELF stop; set -e
$SELF start
;;

  *)
echo "Usage: $SELF start|start-initial|stop|restart|force-reload"
echo " * start-initial starts ndbd with '--initial'"
exit 1
;;
esac[/quote]
en
[quote=mysql-ndb-mgm]#!/bin/bash
#
### BEGIN INIT INFO
# Provides:          mysql-ndb-mgm
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Should-Start:      $network $named $time
# Should-Stop:       $network $named $time
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start and stop the mysql database cluster management daemon
# Description:       Controls the MySQL NDB Management Node daemon "ndb_mgmd".
### END INIT INFO
#
set -e
set -u
${DEBIAN_SCRIPT_DEBUG:+ set -v -x}

# Variables
SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
DAEMON=/usr/sbin/ndb_mgmd
CONF=/etc/mysql/ndb_mgmd.cnf
export HOME=/etc/mysql/

# Safeguard (relative paths, core dumps..)
cd /
umask 077

# Exit *silently* if we're not supposed to be started.
#
# The Debian scripts should execute these scripts to stop and start
# the daemon when upgrading if it is started. On the other hand it should
# remain silently if the server has not even been configured.
# See /usr/share/doc/mysql-server-*/README.Debian for more information.
test -x $DAEMON || exit 0
test -r $CONF || exit 0
. /lib/lsb/init-functions

#
# main()
#
case "${1:-''}" in
  'start')
# Start daemon
log_daemon_msg "Starting MySQL NDB Management Node" "ndb_mgmd"
# --pid-file does not work as the daemon forks itself with $PID=$PID+1
if start-stop-daemon \
--start \
--exec $DAEMON \
--user mysql \
-- \
-f $CONF
then
  log_end_msg 0
else
  log_end_msg 1
  log_warning_msg "Please take a look at the syslog."
  exit 1
fi  
;;

  'stop')
  log_daemon_msg "Stopping MySQL NDB Management Node" "ndb_mgmd"
if start-stop-daemon \
--stop \
--oknodo \
--exec $DAEMON
then
  log_end_msg 0
else
  log_end_msg 1
  exit 1
        fi
;;

  'restart'|'force-reload')
set +e; $SELF stop; set -e
$SELF start
;;

  *)
echo "Usage: $SELF start|stop|restart|force-reload"
exit 1
;;
esac

Met vriendelijke groet,

Gijs

Moderator edit: Gebruik voor stukken script of code aub de [ code ] tag in plaats van de [ quote ] tag.
« Laatst bewerkt op: 2009/01/13, 02:18:56 door Johan van Dijk »
In der Beschränkung zeigt sich der Meister.