PREUN
/bin/sh
/usr/share/rpm-helper/del-service MySQL $1 mysql-max
POSTIN
/bin/sh
su - mysql -c "mysql_install_db -IN-RPM" > /dev/null
/usr/share/rpm-helper/add-service MySQL $1 mysql-max
# 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-max stop &> /dev/null
fix_privileges
/sbin/service mysql-max start &> /dev/null
else
fix_privileges
fi