Package: mysql-server-core-5.1
Version: 5.1.49-3
Severity: normal

Hi, today I made an aptitude full-upgrade with no warnings on a different 
machine
which had the mysql failure message problem.
I do not explicitly use mysql on this machine, only automatic stuff is 
installed,
nameley mysql-server-core-5.1 but not mysql-server-5.1.
The upgrade reported no warnings about mysql, but the file /etc/init.d/mysql 
has not been upgraded.
Nonetheless to say I do not remember having modified the init.d/mysql file.
(I attach a copy of the current one.)

.... so exactly the same problem on a second machine. (More on this later, from 
my third machine.)
regards, ric

------------------------ INFO 
-------------------------------------------------------------------
majorana:~# cat /var/log/apt/term.log|egrep -i -C1 'mysql'
Unpacking replacement libqt4-help ...
Preparing to replace mysql-common 5.1.49-1 (using 
.../mysql-common_5.1.49-3_all.deb) ...
Unpacking replacement mysql-common ...
Preparing to replace libmysqlclient16 5.1.49-1 (using 
.../libmysqlclient16_5.1.49-3_i386.deb) ...
Unpacking replacement libmysqlclient16 ...
Preparing to replace libqt4-sql-mysql 4:4.6.3-1+b1 (using 
.../libqt4-sql-mysql_4%3a4.6.3-4_i386.deb) ...
Unpacking replacement libqt4-sql-mysql ...
Preparing to replace libqt4-sql-sqlite 4:4.6.3-1+b1 (using 
.../libqt4-sql-sqlite_4%3a4.6.3-4_i386.deb) ...
--
Unpacking replacement modemmanager ...
Preparing to replace mysql-server-core-5.1 5.1.49-1 (using 
.../mysql-server-core-5.1_5.1.49-3_i386.deb) ...
Unpacking replacement mysql-server-core-5.1 ...
Preparing to replace wpasupplicant 0.6.10-2 (using 
.../wpasupplicant_0.6.10-2.1_i386.deb) ...
--
Setting up libqt4-help (4:4.6.3-4) ...
Setting up mysql-common (5.1.49-3) ...
Setting up libmysqlclient16 (5.1.49-3) ...
Setting up libqt4-sql-mysql (4:4.6.3-4) ...
Setting up libqt4-sql-sqlite (4:4.6.3-4) ...
--
Setting up modemmanager (0.4+git.20100624t180933.6e79d15-2) ...
Setting up mysql-server-core-5.1 (5.1.49-3) ...
Setting up wpasupplicant (0.6.10-2.1) ...
majorana:~# ls /etc/init.d/mysql.dpkg-dist
ls: cannot access /etc/init.d/mysql.dpkg-dist: No such file or directory
majorana:~# head -n 25 /etc/init.d/mysql|cat -n
     1  #!/bin/bash
     2  #
     3  ### BEGIN INIT INFO
     4  # Provides:          mysql
     5  # Required-Start:    $remote_fs $syslog
     6  # Required-Stop:     $remote_fs $syslog
     7  # Should-Start:      $network $named $time
     8  # Should-Stop:       $network $named $time
     9  # Default-Start:     2 3 4 5
    10  # Default-Stop:      0 1 6
    11  # Short-Description: Start and stop the mysql database server daemon
    12  # Description:       Controls the main MySQL database server daemon 
"mysqld"
    13  #                    and its wrapper script "mysqld_safe".
    14  ### END INIT INFO
    15  #
    16  set -e
    17  set -u
    18  ${DEBIAN_SCRIPT_DEBUG:+ set -v -x}
    19
    20  test -x /usr/sbin/mysqld || exit 0
    21
    22  . /lib/lsb/init-functions
    23
    24  SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
    25  CONF=/etc/mysql/my.cnf
majorana:~# cat /var/log/daemon.log|egrep -i mysql
Jan  9 17:24:09 majorana /etc/init.d/mysql[1718]: 0 processes alive and 
'/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
Jan  9 17:24:09 majorana /etc/init.d/mysql[1718]: /etc/init.d/mysql: line 75: 
/usr/bin/mysqladmin: No such file or directory
Jan  9 17:24:09 majorana /etc/init.d/mysql[1718]: 
Jan 15 09:50:50 majorana /etc/init.d/mysql[1725]: 0 processes alive and 
'/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
Jan 15 09:50:50 majorana /etc/init.d/mysql[1725]: /etc/init.d/mysql: line 75: 
/usr/bin/mysqladmin: No such file or directory
Jan 15 09:50:50 majorana /etc/init.d/mysql[1725]: 
Jan 15 11:54:56 majorana /etc/init.d/mysql[1825]: 0 processes alive and 
'/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
Jan 15 11:54:56 majorana /etc/init.d/mysql[1825]: /etc/init.d/mysql: line 75: 
/usr/bin/mysqladmin: No such file or directory
Jan 15 11:54:56 majorana /etc/init.d/mysql[1825]: 
Jan 15 11:56:13 majorana /etc/init.d/mysql[1679]: 0 processes alive and 
'/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
Jan 15 11:56:13 majorana /etc/init.d/mysql[1679]: /etc/init.d/mysql: line 75: 
/usr/bin/mysqladmin: No such file or directory
Jan 15 11:56:13 majorana /etc/init.d/mysql[1679]: 
majorana:~# aptitude search mysql-server
p   mysql-server                                       - MySQL database server 
(metapackage depending on the latest ve
v   mysql-server-5.0                                   -                        
                                      
c   mysql-server-5.1                                   - MySQL database server 
binaries and system database setup     
v   mysql-server-core                                  -                        
                                      
v   mysql-server-core-5.0                              -                        
                                      
i A mysql-server-core-5.1                              - MySQL database server 
binaries                               
v   virtual-mysql-server                               -                        
                                      
majorana:~#


-- System Information:
Debian Release: 6.0
  APT prefers testing
  APT policy: (900, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages mysql-server-core-5.1 depends on:
ii  libc6                   2.11.2-7         Embedded GNU C Library: Shared lib
ii  libgcc1                 1:4.4.5-8        GCC support library
ii  libstdc++6              4.4.5-8          The GNU Standard C++ Library v3
ii  libwrap0                7.6.q-19         Wietse Venema's TCP wrappers libra
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

mysql-server-core-5.1 recommends no packages.

mysql-server-core-5.1 suggests no packages.

-- no debconf information
#!/bin/bash
#
### BEGIN INIT INFO
# Provides:          mysql
# 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 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
	    # Could be removed during boot
	    test -e /var/run/mysqld || install -m 755 -o mysql -g root -d /var/run/mysqld

	    # Start MySQL! 
  	    /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
	;;

  '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.1/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

Reply via email to