Reinstallion is now possible.

This commit is contained in:
root 2017-12-28 23:15:14 +01:00
parent 9b79f34efa
commit d3854f01d7

View File

@ -1,5 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
_backup_date="$(date +"%Y-%m-%d-%H%M")"
#_MYSQL_VERSION=5.6.26 #_MYSQL_VERSION=5.6.26
_MYSQL_VERSION=5.7.17 _MYSQL_VERSION=5.7.17
@ -589,7 +591,7 @@ echo ""
## - ## -
if [ -d $logdir ]; then if [ -d $logdir ]; then
echononl "Verschiebe exitierendes Logverzeichnis ..." echononl "Verschiebe exitierendes Logverzeichnis ..."
mv $logdir $logdir.`date +"%Y%m%d-%H%M"` mv ${logdir $logdir}.$_backup_date
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
@ -740,22 +742,6 @@ else
echo_skipped echo_skipped
fi fi
echo ""
echononl "Verschiebe exitierendes MySQL Datenbank-Verzeichnis ..."
if [ -d $MYSQL_DATA_DIR ]; then
echo "" >> ${logdir}/main.log
echo "mv $MYSQL_DATA_DIR ${MYSQL_DATA_DIR}.`date +\"%Y%m%d-%H%M\"`" >> ${logdir}/main.log
mv $MYSQL_DATA_DIR ${MYSQL_DATA_DIR}.`date +"%Y%m%d-%H%M"` >> ${logdir}/main.log 2>&1
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
fatal Kann Datenbank-Verzeichnis \"${MYSQL_DATA_DIR}\" nicht verschieben..
fi
else
echo_skipped
fi
if ! $UPDATE_MYSQL ; then if ! $UPDATE_MYSQL ; then
@ -905,19 +891,22 @@ if ! $UPDATE_MYSQL ; then
# fi # fi
echononl "Erstelle Datenbank-Verzeichnis \"$MYSQL_DATA_DIR\".." else # if ! $UPDATE_MYSQL
echo ""
if [ -d $MYSQL_DATA_DIR ]; then
echononl "Sichere exitierendes MySQL Datenbank-Verzeichnis ..."
echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log
echo "mkdir -p $MYSQL_DATA_DIR" >> ${logdir}/main.log echo "cp -a $MYSQL_DATA_DIR ${MYSQL_DATA_DIR}.${_backup_date}" >> ${logdir}/main.log
mkdir -p $MYSQL_DATA_DIR >> ${logdir}/main.log 2>&1 cp -a $MYSQL_DATA_DIR ${MYSQL_DATA_DIR}.$_backup_date >> ${logdir}/main.log 2>&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
echo_failed echo_failed
fatal Kann Datenbank-Verzeichnis \"${MYSQL_DATA_DIR}\" nicht erstellen.. fatal "Kann Datenbank-Verzeichnis \"${MYSQL_DATA_DIR}\" nicht verschieben.."
fi fi
elif [[ -d "$MYSQL_CUR_DATA_DIR" ]] ; then
else # if ! $UPDATE_MYSQL
echononl "Kopiere exitierendes MySQL Datenbank-Verzeichnis ..." echononl "Kopiere exitierendes MySQL Datenbank-Verzeichnis ..."
echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log
echo "cp -a \"$MYSQL_CUR_DATA_DIR\" \"$MYSQL_DATA_DIR\"" >> ${logdir}/main.log echo "cp -a \"$MYSQL_CUR_DATA_DIR\" \"$MYSQL_DATA_DIR\"" >> ${logdir}/main.log
@ -928,6 +917,10 @@ else # if ! $UPDATE_MYSQL
echo_failed echo_failed
fatal "Kopieren \"$MYSQL_CUR_DATA_DIR\" --> \"${MYSQL_DATA_DIR}\" fehlgeschlagen.." fatal "Kopieren \"$MYSQL_CUR_DATA_DIR\" --> \"${MYSQL_DATA_DIR}\" fehlgeschlagen.."
fi fi
else
echo_failed
fatal "Exitierendes MySQL Datenbank-Verzeichnis nicht gefunden!"
fi
fi # if ! $UPDATE_MYSQL fi # if ! $UPDATE_MYSQL
@ -959,6 +952,18 @@ else
fi fi
echononl "Erstelle Datenbank-Verzeichnis \"$MYSQL_DATA_DIR\".."
echo "" >> ${logdir}/main.log
echo "mkdir -p $MYSQL_DATA_DIR" >> ${logdir}/main.log
mkdir -p $MYSQL_DATA_DIR >> ${logdir}/main.log 2>&1
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
fatal Kann Datenbank-Verzeichnis \"${MYSQL_DATA_DIR}\" nicht erstellen..
fi
echononl "Setze Besitzer \"${MYSQL_USER}:${MYSQL_GROUP}\" für Datenbank-Verzeichnis" echononl "Setze Besitzer \"${MYSQL_USER}:${MYSQL_GROUP}\" für Datenbank-Verzeichnis"
echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log
echo "chown -R ${MYSQL_USER}:${MYSQL_GROUP} ${MYSQL_DATA_DIR}" >> ${logdir}/main.log echo "chown -R ${MYSQL_USER}:${MYSQL_GROUP} ${MYSQL_DATA_DIR}" >> ${logdir}/main.log
@ -1022,8 +1027,8 @@ fi
if [ -d "${MYSQL_SRC_DIR}" ];then if [ -d "${MYSQL_SRC_DIR}" ];then
echononl "Verschiebe exitierendes Sourceverzeichnis ..." echononl "Verschiebe exitierendes Sourceverzeichnis ..."
echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log
echo "mv ${MYSQL_SRC_DIR} ${MYSQL_SRC_DIR}.`date +\"%Y%m%d-%H%M\"`" >> ${logdir}/main.log echo "mv ${MYSQL_SRC_DIR} ${MYSQL_SRC_DIR}.${_backup_date}" >> ${logdir}/main.log
mv ${MYSQL_SRC_DIR} ${MYSQL_SRC_DIR}.`date +"%Y%m%d-%H%M"` >> ${logdir}/main.log 2>&1 mv ${MYSQL_SRC_DIR} ${MYSQL_SRC_DIR}.$_backup_date >> ${logdir}/main.log 2>&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
@ -1057,8 +1062,8 @@ echo "cd ${MYSQL_SRC_DIR}" >> ${logdir}/main.log
if [ -d ${MYSQL_INSTALL_DIR} ];then if [ -d ${MYSQL_INSTALL_DIR} ];then
echononl "Verschiebe exitierendes Installationsverzeichnis ..." echononl "Verschiebe exitierendes Installationsverzeichnis ..."
echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log
echo "mv $MYSQL_INSTALL_DIR $MYSQL_INSTALL_DIR.`date +\"%Y%m%d-%H%M\"`" >> ${logdir}/main.log echo "mv $MYSQL_INSTALL_DIR $MYSQL_INSTALL_DIR.${_backup_date}" >> ${logdir}/main.log
mv $MYSQL_INSTALL_DIR $MYSQL_INSTALL_DIR.`date +"%Y%m%d-%H%M"` >> ${logdir}/main.log 2>&1 mv $MYSQL_INSTALL_DIR $MYSQL_INSTALL_DIR.$_backup_date >> ${logdir}/main.log 2>&1
if [ "$?" = "0" ]; then if [ "$?" = "0" ]; then
echo_ok echo_ok
else else
@ -1247,6 +1252,20 @@ if $SYMLINK_INITSCRIPT ; then
fi fi
fi fi
if [ -f "/etc/init.d/mysql.server" ]; then
echononl "Entferne vorhandenen Datei \"/etc/init.d/mysql.server\".."
echo "" >> ${logdir}/main.log
echo "rm /etc/init.d/mysql.server" >> ${logdir}/main.log
rm /etc/init.d/mysql.server >> ${logdir}/main.log 2>&1
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
error Kann Datei /etc/init.d/mysql.server nicht entfernen..
fi
fi
echononl "Erstelle Symlink \"/etc/init.d/mysql.server\".." echononl "Erstelle Symlink \"/etc/init.d/mysql.server\".."
echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log
echo "ln -s $MYSQL_INSTALL_DIR/support-files/mysql.server /etc/init.d/mysql.server" >> ${logdir}/main.log echo "ln -s $MYSQL_INSTALL_DIR/support-files/mysql.server /etc/init.d/mysql.server" >> ${logdir}/main.log
@ -1430,6 +1449,7 @@ if $UPDATE_MYSQL ; then
error "Konnte Konfigurationsdatei 'my.cnf' nicht vom alten in das neue Installations Verz.kopieren.." error "Konnte Konfigurationsdatei 'my.cnf' nicht vom alten in das neue Installations Verz.kopieren.."
fi fi
else else
echo_skipped
_new_cnf_needed=true _new_cnf_needed=true
fi fi
fi fi
@ -2417,8 +2437,12 @@ else
echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log
echo "${MYSQL_INSTALL_DIR}/bin/mysql_upgrade -uroot -p$MYSQL_ROOT_PW" >> ${logdir}/main.log echo "${MYSQL_INSTALL_DIR}/bin/mysql_upgrade -uroot -p$MYSQL_ROOT_PW" >> ${logdir}/main.log
${MYSQL_INSTALL_DIR}/bin/mysql_upgrade -uroot -p$MYSQL_ROOT_PW >> ${logdir}/main.log 2>&1 ${MYSQL_INSTALL_DIR}/bin/mysql_upgrade -uroot -p$MYSQL_ROOT_PW >> ${logdir}/main.log 2>&1
if [ "$?" = "0" ]; then ret_val=$?
if [[ $ret_val -eq 0 ]] ; then
echo_ok echo_ok
elif [[ $ret_val -eq 2 ]] ; then
echo_skipped
warn "Return Code was '2' - it means MySQL is already upgraded to 5.7.20"
else else
echo_failed echo_failed
error "Script \"mysql_upgrade -uroot\" failed!" error "Script \"mysql_upgrade -uroot\" failed!"