Sophie

Sophie

distrib > Mandriva > 2007.0 > i586 > media > contrib-release > by-pkgid > f26b91937f904db8e1be720f209fc416 > scriptlet

MySQL40-4.0.27-1mdk.i586.rpm

PREUN

/bin/sh
/usr/share/rpm-helper/del-service MySQL40 $1 mysql 
# We do not remove the mysql user since it may still own a lot of
# database files.

POSTIN

/bin/sh
# Initiate databases
su - mysql -c "mysql_install_db -IN-RPM" > /dev/null

/usr/share/rpm-helper/add-service MySQL40 $1 mysql 

# Allow mysqld_safe to start mysqld and print a message before we exit
sleep 2

# try to fix privileges table, use a no password user table for that
fix_privileges() 
{
    datadir=`my_print_defaults mysqld | grep '^--datadir=' | cut -d= -f2`
    if [ -z $datadir ]; then
        datadir=/var/lib/mysql/
    fi
    cd $datadir/mysql
    pid_file=$datadir/mysql.pid
    if /usr/bin/mysqld_safe --skip-grant-tables --skip-networking --pid-file=$pid_file &> /dev/null & then  
        pid=$!
        i=1
        while [ $i -lt 10 -a ! -f $pid_file ]; do 
            i=$(($i+1))
            sleep 1
        done
        if [ -f $datadir/mysql.pid ]; then
            /usr/bin/mysql_fix_privilege_tables &> /dev/null 
            kill `cat $pid_file` &> /dev/null
            rm -f $pid_file
        else 
            # just in case
            kill $pid &> /dev/null
        fi
        sleep 2
    fi
}

if [ -f /var/lock/subsys/mysql ]; then
    /sbin/service mysql stop &> /dev/null
    fix_privileges
    /sbin/service mysql start &> /dev/null 
else
    fix_privileges
fi