PREUN
/bin/sh
/usr/share/rpm-helper/del-service MySQL $1 mysqld-ndb
POSTIN
/bin/sh
# Change permissions so that the user that will run the MySQL daemon
# owns all database files.
chown -R mysql:mysql /var/lib/mysql
# make sure the /var/lib/mysql directory can be accessed
chmod 711 /var/lib/mysql
# Initiate databases
export TMPDIR="/var/lib/mysql/.tmp"
export TMP="${TMPDIR}"
su - mysql -c "mysql_install_db --rpm --user=mysql" > /dev/null
# Change permissions again to fix any new files.
chown -R mysql:mysql /var/lib/mysql
# Fix permissions for the permission database so that only the user
# can read them.
chmod -R og-rw /var/lib/mysql
/usr/share/rpm-helper/add-service MySQL $1 mysqld-ndb
# 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/mysqld-fix_privileges.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/mysqld-fix_privileges.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/mysqld-ndb ]; then
/sbin/service mysqld-ndb stop &> /dev/null
fix_privileges
/sbin/service mysqld-ndb start &> /dev/null
else
fix_privileges
fi
Triggers
MySQL <
4.1.10
/bin/sh
if [ -f /var/lock/subsys/mysql ]; then
pidname="/var/lib/mysql/`/bin/hostname`.pid"
if [ -f ${pidname} ]; then
kill `cat ${pidname}`
/etc/rc.d/init.d/mysqld start
fi
fi
MySQL-Max <
4.1.10
/bin/sh
if [ -f /var/lock/subsys/mysql-max ]; then
pidname="/var/lib/mysql/`/bin/hostname`.pid"
if [ -f ${pidname} ]; then
kill `cat ${pidname}`
/etc/rc.d/init.d/mysqld-max start
fi
fi