You are not logged in.

#1 2009-03-13 06:17:09

root_tux_linux
Member
From: Basel, Switzerland
Registered: 2005-01-01
Posts: 53
Website

after upgrade mysql fail to start AGAIN!!

Hi

This ist the second time after an update that mysql fail to start and it sucks realy -.-'
Its everytime the init-script -.-'
Same problem on 3 PC's  -.-'


Can someone give me a working /etc/rc.d/mysqld?


root /var/log # root /var/log #  /etc/rc.d/mysqld start
:: Starting MySQL                                                                                                                                                                                          [FAIL]
root /var/log #  ls -la /var/lib/mysql/
insgesamt 20556
drwxrwxrwx  3 mysql mysql     4096 13. Mär 07:07 .
drwxr-xr-x 22 root  root      4096  5. Mär 19:09 ..
-rw-rw----  1 mysql root     17131 13. Mär 07:08 Arch64.err
-rw-rw----  1 mysql mysql        5 13. Mär 07:08 Arch64.pid
-rw-rw----  1 mysql mysql  5242880 13. Mär 06:23 ib_logfile0
-rw-rw----  1 mysql mysql  5242880  1. Feb 11:38 ib_logfile1
-rw-rw----  1 mysql mysql 10485760 13. Mär 03:14 ibdata1
drwx------  2 mysql mysql     4096  1. Feb 11:38 mysql
root /var/log #
root /var/log #  cat /etc/rc.d/mysqld                                                                                                                                                                             
#!/bin/bash                                                                                                                                                                                                       
                                                                                                                                                                                                                  
MYSQLD_ROOT="/var/lib/mysql"                                                                                                                                                                                      
# source application-specific settings                                                                                                                                                                            
[ -f /etc/conf.d/mysqld ] && . /etc/conf.d/mysqld                                                                                                                                                                 
                                                                                                                                                                                                                  
# general config                                                                                                                                                                                                  
. /etc/rc.conf                                                                                                                                                                                                    
. /etc/rc.d/functions                                                                                                                                                                                             
                                                                                                                                                                                                                  
getPID() {                                                                                                                                                                                                        
   if [ -f $MYSQLD_ROOT/$HOSTNAME.pid ]; then                                                                                                                                                                     
       echo `pidof -o %PPID /usr/sbin/mysqld`;                                                                                                                                                                    
   fi                                                                                                                                                                                                             
}                                                                                                                                                                                                                 
                                                                                                                                                                                                                  
if [ ! `egrep '^mysql:' /etc/group` ]; then                                                                                                                                                                       
  stat_busy "Adding mysql group"                                                                                                                                                                                  
  groupadd -g 89 mysql                                                                                                                                                                                            
  stat_done                                                                                                                                                                                                       
fi                                                                                                                                                                                                                
if [ ! `egrep '^mysql:' /etc/passwd` ]; then                                                                                                                                                                      
  stat_busy "Adding mysql user"                                                                                                                                                                                   
  useradd -u 89 -g mysql -d $MYSQLD_ROOT -s /bin/false mysql                                                                                                                                                      
  [ -d $MYSQLD_ROOT ] && chown -R mysql:mysql $MYSQLD_ROOT                                                                                                                                                        
  stat_done                                                                                                                                                                                                       
fi                                                                                                                                                                                                                
                                                                                                                                                                                                                  
if [ ! -d $MYSQLD_ROOT ]; then                                                                                                                                                                                    
  mkdir $MYSQLD_ROOT                                                                                                                                                                                              
  /usr/bin/mysql_install_db --datadir=$MYSQLD_ROOT --user=mysql                                                                                                                                                   
  chown -R mysql:mysql $MYSQLD_ROOT                                                                                                                                                                               
fi                                                                                                                                                                                                                
                                                                                                                                                                                                                  
case "$1" in                                                                                                                                                                                                      
  start)                                                                                                                                                                                                          
    stat_busy "Starting MySQL"                                                                                                                                                                                    
    if [ -z "$(getPID)" ]; then                                                                                                                                                                                   
       /usr/bin/mysqld_safe --datadir=$MYSQLD_ROOT &>/dev/null &                                                                                                                                                  
      if [ $? -gt 0 ]; then                                                                                                                                                                                       
        stat_fail                                                                                                                                                                                                 
        exit 1                                                                                                                                                                                                    
      else                                                                                                                                                                                                        
        sleep 1 # wait on children                                                                                                                                                                                
        if [ -z "$(getPID)" ]; then                                                                                                                                                                               
          stat_fail                                                                                                                                                                                               
          exit 1                                                                                                                                                                                                  
        else                                                                                                                                                                                                      
          echo $(getPID) >/var/run/mysqld.pid                                                                                                                                                                     
          add_daemon mysqld                                                                                                                                                                                       
          stat_done                                                                                                                                                                                               
        fi                                                                                                                                                                                                        
      fi                                                                                                                                                                                                          
    else                                                                                                                                                                                                          
      stat_fail                                                                                                                                                                                                   
      exit 1
    fi
    ;;

  stop)
    stat_busy "Stopping MySQL"
    if [ ! -z "$(getPID)" ]; then
      kill $(getPID) &> /dev/null
      if [ $? -gt 0 ]; then
        stat_fail
        exit 1
      else
        rm -f /var/run/mysqld.pid &>/dev/null
        rm_daemon mysqld
        stat_done
      fi
    else
      stat_fail
      exit 1
    fi
    ;;

  restart)
    $0 stop
    sleep 3
    $0 start
    ;;
  *)
    echo "usage: $0 {start|stop|restart}"
esac
exit 0
local/mysql 5.0.77-2
    A fast SQL database server
root /var/log #  arch
x86_64
root /var/log #

Btw. And can the Mysql Package Maintainer finaly fix the init-script? -.-'

Last edited by root_tux_linux (2009-03-13 06:18:08)

Offline

#2 2009-03-15 02:43:44

timm
Member
From: Wisconsin
Registered: 2004-02-25
Posts: 417

Re: after upgrade mysql fail to start AGAIN!!

Mine of the same version will not start at boot, but I can start it manually from rc.d without problem.

Offline

Board footer

Powered by FluxBB