Clean up partially-created database files when mysql_install_db fails.

This allows a subsequent attempt to succeed.  Per discussion of bug #835131.
This commit is contained in:
Tom Lane 2012-09-07 11:17:05 -04:00 committed by Michal Schorm
parent 98b903b690
commit cae704db91

View File

@ -45,10 +45,17 @@ if [ ! -d "$datadir/mysql" ] ; then
echo "Initializing MySQL database" echo "Initializing MySQL database"
/usr/bin/mysql_install_db --datadir="$datadir" --user=mysql /usr/bin/mysql_install_db --datadir="$datadir" --user=mysql
ret=$? ret=$?
chown -R mysql:mysql "$datadir"
if [ $ret -ne 0 ] ; then if [ $ret -ne 0 ] ; then
echo "Initialization of MySQL database failed." >&2
echo "Perhaps /etc/my.cnf is misconfigured." >&2
# Clean up any partially-created database files
if [ ! -e "$datadir/mysql/user.frm" ] ; then
rm -rf "$datadir"/*
fi
exit $ret exit $ret
fi fi
# In case we're running as root, make sure files are owned properly
chown -R mysql:mysql "$datadir"
fi fi
exit 0 exit 0