Redesing upgrade mode.
This commit is contained in:
parent
8d1769f0e0
commit
4f61ae3788
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
*.swp
|
||||
/BAK/*
|
||||
/log*
|
||||
/mysql*
|
||||
|
@ -153,13 +153,26 @@ else
|
||||
UPDATE_MYSQL=false
|
||||
fi
|
||||
|
||||
|
||||
clear
|
||||
echo -e "\033[21G\033[32mInstallationsscript für die Mysql Datenbank \033[m"
|
||||
if $UPDATE_MYSQL ; then
|
||||
echo ""
|
||||
echononl "Get current MySQL Version.."
|
||||
CURRENT_VERSION="$(mysql -V | grep -o -E "Distrib\s+[3-9]+\.[0-9]+\.[0-9]+" | awk '{print$2}')"
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
fatal "Getting current mysql version failed!"
|
||||
fi
|
||||
echo ""
|
||||
fi
|
||||
|
||||
|
||||
#clear
|
||||
#echo -e "\033[21G\033[32mInstallationsscript für die Mysql Datenbank \033[m"
|
||||
#echo ""
|
||||
echo -e "\033[32m--\033[m"
|
||||
echo ""
|
||||
echo "Gib die Versionsnummer der MySQL-Distribution an."
|
||||
echo "Gib die Versionsnummer der zu installierenden MySQL-Distribution an."
|
||||
echo ""
|
||||
MYSQL_VERSION=
|
||||
while [ "X$MYSQL_VERSION" = "X" ]
|
||||
@ -211,6 +224,19 @@ do
|
||||
|
||||
done
|
||||
|
||||
if $UPDATE_MYSQL ; then
|
||||
echo ""
|
||||
echononl "Ermittle Installations Verz. der existierenden MySQL Installation."
|
||||
if [[ -d "$(dirname "$MYSQL_INSTALL_DIR")/mysql-$CURRENT_VERSION" ]]; then
|
||||
MYSQL_CUR_INSTALL_DIR="$(dirname "$MYSQL_INSTALL_DIR")/mysql-$CURRENT_VERSION"
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
fatal "Kann Datenbank Verz. der installierten Version nicht finden!"
|
||||
fi
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "\033[32m--\033[m"
|
||||
echo ""
|
||||
@ -226,6 +252,20 @@ do
|
||||
fi
|
||||
done
|
||||
|
||||
if $UPDATE_MYSQL ; then
|
||||
echo ""
|
||||
echononl "Ermittle MySQL-Datenbank Verz. der existierenden MySQL Installation."
|
||||
if [[ -d "$(dirname "$MYSQL_DATA_DIR")/mysql-$CURRENT_VERSION" ]]; then
|
||||
MYSQL_CUR_DATA_DIR="$(dirname "$MYSQL_DATA_DIR")/mysql-$CURRENT_VERSION"
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
fatal "Kann Datenbank Verz. der installierten Version nicht finden!"
|
||||
fi
|
||||
echo ""
|
||||
fi
|
||||
|
||||
|
||||
echo ""
|
||||
echo -e "\033[32m--\033[m"
|
||||
echo ""
|
||||
@ -295,12 +335,17 @@ do
|
||||
fi
|
||||
done
|
||||
|
||||
clear
|
||||
echo -e "\033[21G\033[32mInstallationsscript für die Mysql Datenbank \033[m"
|
||||
#clear
|
||||
#echo -e "\033[21G\033[32mInstallationsscript für die Mysql Datenbank \033[m"
|
||||
|
||||
echo ""
|
||||
echo -e "\033[32m--\033[m"
|
||||
echo ""
|
||||
if ! $UPDATE_MYSQL ; then
|
||||
echo "Gib ein Passwort für den root user an.."
|
||||
else
|
||||
echo "Gib das 'root' Passwort der bestehenden Installation an"
|
||||
fi
|
||||
echo ""
|
||||
_MYSQL_ROOT_PW_1="X"
|
||||
_MYSQL_ROOT_PW_2="Y"
|
||||
@ -323,23 +368,37 @@ do
|
||||
if [ "$_MYSQL_ROOT_PW_1" != "$_MYSQL_ROOT_PW_2" ];then
|
||||
echo -e "\n\t\033[33m\033[1mPassworteingaben sind nicht identisch!\033[m\n"
|
||||
else
|
||||
if $UPDATE_MYSQL ; then
|
||||
if $(pgrep mysqld_safe > /dev/null 2>&1) ; then
|
||||
if $(mysql --user="root" --password="$_MYSQL_ROOT_PW_1" -N -s -e 'quit' > /dev/null 2>&1) ; then
|
||||
MYSQL_ROOT_PW=$_MYSQL_ROOT_PW_1
|
||||
else
|
||||
echo -e "\n\t\033[33m\033[1mFalsches Passwort\033[m\n"
|
||||
_MYSQL_ROOT_PW_1=""
|
||||
fi
|
||||
else
|
||||
MYSQL_ROOT_PW=$_MYSQL_ROOT_PW_1
|
||||
fi
|
||||
else
|
||||
MYSQL_ROOT_PW=$_MYSQL_ROOT_PW_1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
if $UPDATE_MYSQL ; then
|
||||
__SYMLINK_INITSCRIPT=nein
|
||||
__SYMLINK_INSTALL_DIR=nein
|
||||
__SYMLINK_DATA_DIR=nein
|
||||
else
|
||||
# __SYMLINK_INITSCRIPT=nein
|
||||
# __SYMLINK_INSTALL_DIR=nein
|
||||
# __SYMLINK_DATA_DIR=nein
|
||||
#else
|
||||
__SYMLINK_INITSCRIPT=ja
|
||||
__SYMLINK_INSTALL_DIR=ja
|
||||
__SYMLINK_DATA_DIR=ja
|
||||
fi
|
||||
|
||||
clear
|
||||
echo -e "\033[21G\033[32mInstallationsscript für die Mysql Datenbank \033[m"
|
||||
echo ""
|
||||
#clear
|
||||
#echo -e "\033[21G\033[32mInstallationsscript für die Mysql Datenbank \033[m"
|
||||
#echo ""
|
||||
echo -e "\033[32m--\033[m"
|
||||
echo ""
|
||||
echo "Symlinks:"
|
||||
@ -447,7 +506,12 @@ echo ""
|
||||
if ! $UPDATE_MYSQL ; then
|
||||
echo -e "-- \033[33m\033[1mNeusistallation\033[m --"
|
||||
else
|
||||
echo -e "-- \033[33m\033[1mUpdate\033[m (Erstzen einer vorhandenen Installation) --"
|
||||
echo -e "-- \033[33m\033[1mUpdate\033[m (Ersetzen einer vorhandenen Installation) --"
|
||||
echo ""
|
||||
echo "Current MySQL Version.....: $CURRENT_VERSION"
|
||||
echo "Current data dir..........: $MYSQL_CUR_DATA_DIR"
|
||||
echo "Current installation dir..: $MYSQL_CUR_INSTALL_DIR"
|
||||
echo ""
|
||||
fi
|
||||
echo ""
|
||||
echo "Linuxdistribution.........: $DISTRIBUTION"
|
||||
@ -535,7 +599,12 @@ echo "## -" >> ${logdir}/main.log
|
||||
if ! $UPDATE_MYSQL ; then
|
||||
echo "## - Neusistallation" >> ${logdir}/main.log
|
||||
else
|
||||
echo "## - Update (Erstzen einer vorhandenen Installation)" >> ${logdir}/main.log
|
||||
echo "## - Update (Ersetzen einer vorhandenen Installation)" >> ${logdir}/main.log
|
||||
echo "## -" >> ${logdir}/main.log
|
||||
echo "## - Current MySQL Version.....: $CURRENT_VERSION" >> ${logdir}/main.log
|
||||
echo "## - Current installation dir..: $MYSQL_CUR_INSTALL_DIR" >> ${logdir}/main.log
|
||||
echo "## - Current data dir..........: $MYSQL_CUR_DATA_DIR" >> ${logdir}/main.log
|
||||
echo "## -" >> ${logdir}/main.log
|
||||
fi
|
||||
echo "## -" >> ${logdir}/main.log
|
||||
echo "## - Linuxdistribution.........: $DISTRIBUTION" >> ${logdir}/main.log
|
||||
@ -560,6 +629,11 @@ echo "" >> ${logdir}/main.log
|
||||
echo "" >> ${logdir}/main.log
|
||||
|
||||
echo "UPDATE_MYSQL=$UPDATE_MYSQL" >> ${logdir}/main.log
|
||||
if ! $UPDATE_MYSQL ; then
|
||||
echo "CURRENT_VERSION=$CURRENT_VERSION" >> ${logdir}/main.log
|
||||
echo "MYSQL_CUR_DATA_DIR=$MYSQL_CUR_DATA_DIR" >> ${logdir}/main.log
|
||||
echo "MYSQL_CUR_INSTALL_DIR=$MYSQL_CUR_INSTALL_DIR" >> ${logdir}/main.log
|
||||
fi
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "DISTRIBUTION=$DISTRIBUTION" >> ${logdir}/main.log
|
||||
echo "" >> ${logdir}/main.log
|
||||
@ -586,19 +660,31 @@ elif [ -f /etc/init.d/mysql ];then
|
||||
_MYSQL_INITSCRIPT="mysql"
|
||||
fi
|
||||
|
||||
if ! $UPDATE_MYSQL ; then
|
||||
if [[ -z "$_MYSQL_INITSCRIPT" ]] && $UPDATE_MYSQL ; then
|
||||
fatal "Kein start/stop script gefunden.."
|
||||
fi
|
||||
|
||||
if [ "X${_MYSQL_INITSCRIPT}X" != "XX" ];then
|
||||
echo ""
|
||||
|
||||
PID=`ps aux | grep "mysqld_safe" | grep -v grep | awk '{print$2}'`
|
||||
if [ "X${PID}X" != "XX" ];then
|
||||
echononl "Stoppe mysql Server.."
|
||||
## - Stop MySQL Service if running
|
||||
## -
|
||||
echononl "Stop MySQL Service.."
|
||||
PID=$(ps aux | grep "mysqld_safe" | grep -v grep | awk '{print$2}')
|
||||
if [[ "X${PID}X" != "XX" ]];then
|
||||
if $SYSTEMD_EXISTS ; then
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "systemctl stop ${_MYSQL_INITSCRIPT}" >> ${logdir}/main.log
|
||||
systemctl stop ${_MYSQL_INITSCRIPT} >> ${logdir}/main.log 2>&1
|
||||
else
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "/etc/init.d/$_MYSQL_INITSCRIPT stop" >> ${logdir}/main.log
|
||||
/etc/init.d/$_MYSQL_INITSCRIPT stop >> ${logdir}/main.log 2>&1
|
||||
fi
|
||||
|
||||
sleep 5
|
||||
|
||||
PID=`ps aux | grep "mysqld_safe" | grep -v grep | awk '{print$2}'`
|
||||
if [ "X${PID}X" = "XX" ]; then
|
||||
if [[ "X${PID}X" = "XX" ]]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
@ -614,9 +700,31 @@ if ! $UPDATE_MYSQL ; then
|
||||
echo_failed
|
||||
fi
|
||||
fi
|
||||
|
||||
else
|
||||
echo_skipped
|
||||
fi
|
||||
|
||||
|
||||
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 [ "X${_MYSQL_INITSCRIPT}X" != "XX" ];then
|
||||
|
||||
## - Entferne symbolische Links aus den Run Level Verzeichnissen
|
||||
## -
|
||||
echononl "Entferne symbolische Links aus den Run Level Verzeichnissen"
|
||||
@ -639,7 +747,7 @@ if ! $UPDATE_MYSQL ; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
fatal "Kann Mexistierendes Initskript nicht entfernen."
|
||||
fatal "Kann existierendes Initskript nicht entfernen."
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@ -761,6 +869,33 @@ if ! $UPDATE_MYSQL ; then
|
||||
# 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
|
||||
|
||||
else # if ! $UPDATE_MYSQL
|
||||
|
||||
echononl "Kopiere exitierendes MySQL Datenbank-Verzeichnis ..."
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "cp -a \"$MYSQL_CUR_DATA_DIR\" \"$MYSQL_DATA_DIR\"" >> ${logdir}/main.log
|
||||
cp -a "$MYSQL_CUR_DATA_DIR" "$MYSQL_DATA_DIR" >> ${logdir}/main.log
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
fatal "Kopieren \"$MYSQL_CUR_DATA_DIR\" --> \"${MYSQL_DATA_DIR}\" fehlgeschlagen.."
|
||||
fi
|
||||
|
||||
fi # if ! $UPDATE_MYSQL
|
||||
|
||||
|
||||
echononl "Adding Group \"$MYSQL_GROUP\".."
|
||||
if cat /etc/group | grep -e "^${MYSQL_GROUP}:" > /dev/null 2>&1 ; then
|
||||
echo_skipped
|
||||
@ -786,34 +921,8 @@ if ! $UPDATE_MYSQL ; then
|
||||
fatal Kann User \"${MYSQL_USER}\" nicht erstellen..
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [ -d $MYSQL_DATA_DIR ]; then
|
||||
echononl "Verschiebe exitierendes MySQL Datenbank-Verzeichnis ..."
|
||||
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
|
||||
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"
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "chown -R ${MYSQL_USER}:${MYSQL_GROUP} ${MYSQL_DATA_DIR}" >> ${logdir}/main.log
|
||||
@ -999,6 +1108,98 @@ else
|
||||
echo_skipped
|
||||
fi
|
||||
|
||||
## - Symlink Installationsverzeichnis (i.d.R. /usr/local/mysql)
|
||||
## -
|
||||
if $SYMLINK_INSTALL_DIR ; then
|
||||
|
||||
echononl "Entferne vorhandenen Symlink `dirname $MYSQL_INSTALL_DIR`/mysql.."
|
||||
if [[ -h "$(dirname $MYSQL_INSTALL_DIR)/mysql" ]]; then
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "rm \"$(dirname $MYSQL_INSTALL_DIR)/mysql\"" >> ${logdir}/main.log
|
||||
rm "$(dirname $MYSQL_INSTALL_DIR)/mysql" >> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error Kann Symlink `dirname $MYSQL_INSTALL_DIR`/mysql nicht entfernen..
|
||||
fi
|
||||
else
|
||||
echo_skipped
|
||||
fi
|
||||
|
||||
echononl "Verschiebe Verzeichnis '$(dirname $MYSQL_INSTALL_DIR)/mysql' ..."
|
||||
if [ -d "$(dirname $MYSQL_INSTALL_DIR)/mysql" ]; then
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "mv \"$(dirname $MYSQL_INSTALL_DIR)/mysql)\" \"$(dirname $MYSQL_INSTALL_DIR)/mysql.$(date +"%Y%m%d-%H%M")" \
|
||||
>> ${logdir}/main.log
|
||||
mv "$(dirname $MYSQL_INSTALL_DIR)/mysql" "$(dirname $MYSQL_INSTALL_DIR)/mysql.$(date +"%Y%m%d-%H%M")" \
|
||||
>> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error Kann Installationsverzeichnis \"${MYSQL_INSTALL_DIR}\" nicht verschieben..
|
||||
fi
|
||||
else
|
||||
echo_skipped
|
||||
fi
|
||||
|
||||
echononl "Erstelle Symlink $(dirname $MYSQL_INSTALL_DIR)/mysql --> $MYSQL_INSTALL_DIR"
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "ln -s \"$(basename $MYSQL_INSTALL_DIR)\" \"$(dirname $MYSQL_INSTALL_DIR)/mysql\"" >> ${logdir}/main.log
|
||||
ln -s "$(basename $MYSQL_INSTALL_DIR)" "$(dirname $MYSQL_INSTALL_DIR)/mysql" >> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error Kann Symlink `basename $MYSQL_INSTALL_DIR` --> `dirname $MYSQL_INSTALL_DIR`/mysql nicht erstellen ..
|
||||
fi
|
||||
fi
|
||||
|
||||
## - Symlink Datenverzeichnis
|
||||
## -
|
||||
if $SYMLINK_DATA_DIR ; then
|
||||
|
||||
if [ -h "$(dirname $MYSQL_DATA_DIR)/mysql" ]; then
|
||||
echononl "Entferne vorhandenen Symlink '$(dirname $MYSQL_DATA_DIR)/mysql'.."
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "rm $(dirname $MYSQL_DATA_DIR)/mysql" >> ${logdir}/main.log
|
||||
rm $(dirname $MYSQL_DATA_DIR)/mysql >> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error Kann Symlink `dirname $MYSQL_DATA_DIR`/mysql nicht entfernen..
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d "$(dirname $MYSQL_DATA_DIR)/mysql" ]; then
|
||||
echononl "Verschiebe Verzeichnis '$(dirname $MYSQL_DATA_DIR)/mysql' ..."
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "mv \"$(dirname $MYSQL_DATA_DIR)/mysql\" \"$(dirname $MYSQL_DATA_DIR)/mysql.$(date +"%Y%m%d-%H%M")" \
|
||||
>> ${logdir}/main.log
|
||||
mv "$(dirname $MYSQL_DATA_DIR)/mysql" "$(dirname $MYSQL_DATA_DIR)/mysql.$(date +"%Y%m%d-%H%M")" \
|
||||
>> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error Kann Datenverzeichnis \"${MYSQL_DATA_DIR}\" nicht verschieben..
|
||||
fi
|
||||
fi
|
||||
|
||||
echononl "Erstelle Symlink `dirname $MYSQL_DATA_DIR`/mysql --> $MYSQL_DATA_DIR"
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "ln -s \"$(basename $MYSQL_DATA_DIR)\" \"$(dirname $MYSQL_DATA_DIR)/mysql\"" >> ${logdir}/main.log
|
||||
ln -s "$(basename $MYSQL_DATA_DIR)" "$(dirname $MYSQL_DATA_DIR)/mysql" >> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error "Kann Symlink $(basename $MYSQL_DATA_DIR) --> $(dirname $MYSQL_DATA_DIR)/mysql nicht erstellen .."
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if $SYMLINK_INITSCRIPT ; then
|
||||
|
||||
@ -1018,7 +1219,8 @@ if $SYMLINK_INITSCRIPT ; then
|
||||
echononl "Erstelle Symlink \"/etc/init.d/mysql.server\".."
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "ln -s $MYSQL_INSTALL_DIR/support-files/mysql.server /etc/init.d/mysql.server" >> ${logdir}/main.log
|
||||
ln -s $MYSQL_INSTALL_DIR/support-files/mysql.server /etc/init.d/mysql.server >> ${logdir}/main.log 2>&1
|
||||
echo "ln -s \"$(dirname $MYSQL_INSTALL_DIR)/mysql/support-files/mysql.server\" \"/etc/init.d/mysql.server\"" >> ${logdir}/main.log
|
||||
ln -s "$(dirname $MYSQL_INSTALL_DIR)/mysql/support-files/mysql.server" /etc/init.d/mysql.server >> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
@ -1034,99 +1236,11 @@ if $SYMLINK_INITSCRIPT ; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
fatal "Kann \"ulimit\" im Startscript nicht setzen /etc/init.d/mysql.server nicht setzen.."
|
||||
error "Kann \"ulimit\" im Startscript nicht setzen /etc/init.d/mysql.server nicht setzen.."
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
## - Symlink Installationsverzeichnis (i.d.R. /usr/local/mysql)
|
||||
## -
|
||||
if $SYMLINK_INSTALL_DIR ; then
|
||||
|
||||
if [ -h `dirname $MYSQL_INSTALL_DIR`/mysql ]; then
|
||||
echononl "Entferne vorhandenen Symlink `dirname $MYSQL_INSTALL_DIR`/mysql.."
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "rm `dirname $MYSQL_INSTALL_DIR`/mysql" >> ${logdir}/main.log
|
||||
rm `dirname $MYSQL_INSTALL_DIR`/mysql >> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error Kann Symlink `dirname $MYSQL_INSTALL_DIR`/mysql nicht entfernen..
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d `dirname $MYSQL_INSTALL_DIR`/mysql ]; then
|
||||
echononl "Verschiebe Verzeichnis `dirname $MYSQL_INSTALL_DIR`/mysql ..."
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "mv `dirname $MYSQL_INSTALL_DIR`/mysql `dirname $MYSQL_INSTALL_DIR`/mysql.`date +\"%Y%m%d-%H%M\"`" \
|
||||
>> ${logdir}/main.log
|
||||
mv `dirname $MYSQL_INSTALL_DIR`/mysql `dirname $MYSQL_INSTALL_DIR`/mysql.`date +"%Y%m%d-%H%M"` \
|
||||
>> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error Kann Installationsverzeichnis \"${MYSQL_INSTALL_DIR}\" nicht verschieben..
|
||||
fi
|
||||
fi
|
||||
|
||||
echononl "Erstelle Symlink `dirname $MYSQL_INSTALL_DIR`/mysql --> $MYSQL_INSTALL_DIR"
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "ln -s `basename $MYSQL_INSTALL_DIR` `dirname $MYSQL_INSTALL_DIR`/mysql" >> ${logdir}/main.log
|
||||
ln -s `basename $MYSQL_INSTALL_DIR` `dirname $MYSQL_INSTALL_DIR`/mysql >> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error Kann Symlink `basename $MYSQL_INSTALL_DIR` --> `dirname $MYSQL_INSTALL_DIR`/mysql nicht erstellen ..
|
||||
fi
|
||||
fi
|
||||
|
||||
## - Symlink Datenverzeichnis
|
||||
## -
|
||||
if $SYMLINK_DATA_DIR ; then
|
||||
|
||||
if [ -h `dirname $MYSQL_DATA_DIR`/mysql ]; then
|
||||
echononl "Entferne vorhandenen Symlink `dirname $MYSQL_DATA_DIR`/mysql.."
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "rm `dirname $MYSQL_DATA_DIR`/mysql" >> ${logdir}/main.log
|
||||
rm `dirname $MYSQL_DATA_DIR`/mysql >> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error Kann Symlink `dirname $MYSQL_DATA_DIR`/mysql nicht entfernen..
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -d `dirname $MYSQL_DATA_DIR`/mysql ]; then
|
||||
echononl "Verschiebe Verzeichnis `dirname $MYSQL_DATA_DIR`/mysql ..."
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "mv `dirname $MYSQL_DATA_DIR`/mysql `dirname $MYSQL_DATA_DIR`/mysql.`date +\"%Y%m%d-%H%M\"`" \
|
||||
>> ${logdir}/main.log
|
||||
mv `dirname $MYSQL_DATA_DIR`/mysql `dirname $MYSQL_DATA_DIR`/mysql.`date +"%Y%m%d-%H%M"` \
|
||||
>> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error Kann Datenverzeichnis \"${MYSQL_DATA_DIR}\" nicht verschieben..
|
||||
fi
|
||||
fi
|
||||
|
||||
echononl "Erstelle Symlink `dirname $MYSQL_DATA_DIR`/mysql --> $MYSQL_DATA_DIR"
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "ln -s `basename $MYSQL_DATA_DIR` `dirname $MYSQL_DATA_DIR`/mysql" >> ${logdir}/main.log
|
||||
ln -s `basename $MYSQL_DATA_DIR` `dirname $MYSQL_DATA_DIR`/mysql >> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error Kann Symlink `basename $MYSQL_DATA_DIR` --> `dirname $MYSQL_DATA_DIR`/mysql nicht erstellen ..
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
echononl "Füge `dirname $MYSQL_INSTALL_DIR`/mysql/bin zur PATH Variable hinzu .."
|
||||
if [ -f /etc/profile ]; then
|
||||
@ -1178,6 +1292,7 @@ fi
|
||||
|
||||
echo
|
||||
echononl "Richte MySQL Systemtabellen ein.."
|
||||
if ! $UPDATE_MYSQL ; then
|
||||
cd $MYSQL_INSTALL_DIR
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "./bin/mysqld --initialize-insecure \ " >> ${logdir}/main.log
|
||||
@ -1199,6 +1314,9 @@ else
|
||||
echo_failed
|
||||
fatal Das Einrichten der MySQL Systemtabellen ist fehlgeschlagen..
|
||||
fi
|
||||
else
|
||||
echo_skipped
|
||||
fi
|
||||
|
||||
echononl "Create directory \"mysql-files\".."
|
||||
cd $MYSQL_INSTALL_DIR
|
||||
@ -1251,8 +1369,8 @@ else
|
||||
fi
|
||||
|
||||
|
||||
if [ -f ${MYSQL_INSTALL_DIR}/my.cnf ]; then
|
||||
echononl "Sichere Konfigurationsdatei.."
|
||||
if [ -f ${MYSQL_INSTALL_DIR}/my.cnf ]; then
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "${MYSQL_INSTALL_DIR}/my.cnf ${MYSQL_INSTALL_DIR}" >> ${logdir}/main.log
|
||||
mv ${MYSQL_INSTALL_DIR}/my.cnf ${MYSQL_INSTALL_DIR}/my.cnf.ORIG
|
||||
@ -1262,8 +1380,30 @@ if [ -f ${MYSQL_INSTALL_DIR}/my.cnf ]; then
|
||||
echo_failed
|
||||
error Konnte Konfigurationsdatei ${MYSQL_INSTALL_DIR}/my.cnf nicht sichern..
|
||||
fi
|
||||
else
|
||||
echo_skipped
|
||||
fi
|
||||
|
||||
_new_cnf_needed=false
|
||||
if $UPDATE_MYSQL ; then
|
||||
echononl "Copy 'my.cnf from old installation to the new one.."
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "cp -a \"${MYSQL_CUR_INSTALL_DIR}/my.cnf\" \"${MYSQL_INSTALL_DIR}/my.cnf\"" >> ${logdir}/main.log
|
||||
if [[ -f "${MYSQL_CUR_INSTALL_DIR}/my.cnf" ]] ; then
|
||||
cp -a "${MYSQL_CUR_INSTALL_DIR}/my.cnf" "${MYSQL_INSTALL_DIR}/my.cnf" >> ${logdir}/main.log
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
_new_cnf_needed=true
|
||||
error "Konnte Konfigurationsdatei 'my.cnf' nicht vom alten in das neue Installations Verz.kopieren.."
|
||||
fi
|
||||
else
|
||||
_new_cnf_needed=true
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! $UPDATE_MYSQL || $_new_cnf_needed ; then
|
||||
echononl "Erstelle Konfigurationsdatei ${MYSQL_INSTALL_DIR}/my.cnf.."
|
||||
|
||||
echo "" >> ${logdir}/main.log
|
||||
@ -2064,6 +2204,7 @@ else
|
||||
warn "Konnte ${MYSQL_SRC_BASE_DIR}/stopwords_utf8_iso8859-15.txt finden."
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
#echononl "Kopiere Startscript nach /etc/init.d/mysql.server.."
|
||||
#echo "" >> ${logdir}/main.log
|
||||
@ -2101,8 +2242,6 @@ if ! $UPDATE_MYSQL ; then
|
||||
if $SYSTEMD_EXISTS ; then
|
||||
echo "systemctl enable mysql.server" >> ${logdir}/main.log
|
||||
systemctl enable mysql.server >> ${logdir}/main.log 2>&1
|
||||
echo "systemctl daemon-reload" >> ${logdir}/main.log
|
||||
systemctl daemon-reload >> ${logdir}/main.log 2>&1
|
||||
else
|
||||
echo "update-rc.d mysql.server defaults" >> ${logdir}/main.log
|
||||
update-rc.d mysql.server defaults >> ${logdir}/main.log 2>&1
|
||||
@ -2117,6 +2256,22 @@ if ! $UPDATE_MYSQL ; then
|
||||
error "Konnte MySQL Init Script Links (autom. boot) nicht erstellen.."
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echononl "Run 'systemctl daemon-reload' to reload units."
|
||||
if $SYSTEMD_EXISTS ; then
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "systemctl daemon-reload" >> ${logdir}/main.log
|
||||
systemctl daemon-reload >> ${logdir}/main.log 2>&1
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
error "Run 'systemctl daemon-reload' failed!"
|
||||
fi
|
||||
else
|
||||
echo_skipped
|
||||
fi
|
||||
|
||||
echononl "Starte MySQL Datenbankserver.."
|
||||
echo "" >> ${logdir}/main.log
|
||||
@ -2133,12 +2288,11 @@ if ! $UPDATE_MYSQL ; then
|
||||
echo_failed
|
||||
error Konnte MySQL Datenbankserver nicht starten..
|
||||
fi
|
||||
fi
|
||||
|
||||
echononl "Run \"mysql_upgrade -uroot\".."
|
||||
echononl "Run \"mysql_upgrade -uroot\" - this may take some (long) time.."
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "${MYSQL_INSTALL_DIR}/bin/mysql_upgrade -uroot" >> ${logdir}/main.log
|
||||
${MYSQL_INSTALL_DIR}/bin/mysql_upgrade -uroot >> ${logdir}/main.log 2>&1
|
||||
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
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
@ -2146,10 +2300,16 @@ else
|
||||
error "Script \"mysql_upgrade -uroot\" failed!"
|
||||
fi
|
||||
|
||||
if ! $UPDATE_MYSQL ; then
|
||||
|
||||
## - Delete rows with empty 'User' from table mysql.user
|
||||
## -
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e \"DELETE FROM user where User = ''\"" >> ${logdir}/main.log
|
||||
${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e "DELETE FROM user where User = ''" >> ${logdir}/main.log 2>&1
|
||||
|
||||
## - Set root password
|
||||
## -
|
||||
echononl "Setze root Passwort für den MySQL Zugang"
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e \"UPDATE user set authentication_string = password('$MYSQL_ROOT_PW')\"" >> ${logdir}/main.log
|
||||
@ -2162,6 +2322,8 @@ else
|
||||
error Konnte MySQL root Zugang fü den MySQL Server nicht setzen..
|
||||
fi
|
||||
|
||||
## - Flush privileges
|
||||
## -
|
||||
echononl "Neu Einlesen der Berechtigung (MySQL Server).."
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e \"FLUSH PRIVILEGES\"" >> ${logdir}/main.log
|
||||
@ -2172,8 +2334,29 @@ else
|
||||
echo_failed
|
||||
error Das Laden/Erneuern der Berechtigungen für die MySQL Datenbank ist fehlgeschlagen..
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
_sys_maint_cnf_needed=false
|
||||
if $UPDATE_MYSQL ; then
|
||||
echononl "Copy 'sys-maint.cnf from old installation to the new one.."
|
||||
echo "" >> ${logdir}/main.log
|
||||
echo "cp -a \"${MYSQL_CUR_INSTALL_DIR}/sys-maint.cnf\" \"${MYSQL_INSTALL_DIR}/sys-maint.cnf\"" >> ${logdir}/main.log
|
||||
if [[ -f "${MYSQL_CUR_INSTALL_DIR}/my.cnf" ]] ; then
|
||||
cp -a "${MYSQL_CUR_INSTALL_DIR}/my.cnf" "${MYSQL_INSTALL_DIR}/my.cnf" >> ${logdir}/main.log
|
||||
if [ "$?" = "0" ]; then
|
||||
echo_ok
|
||||
else
|
||||
echo_failed
|
||||
_sys_maint_cnf_needed=true
|
||||
error "Konnte Konfigurationsdatei 'sys-maint.cnf' nicht vom alten in das neue Installations Verz.kopieren.."
|
||||
fi
|
||||
else
|
||||
_sys_maint_cnf_needed=true
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! $UPDATE_MYSQL || $_sys_maint_cnf_needed ; then
|
||||
echo
|
||||
echononl "Erstelle Passwort für maintance (MySQL) User.."
|
||||
echo "" >> ${logdir}/main.log
|
||||
@ -2248,6 +2431,7 @@ else
|
||||
echo_failed
|
||||
error Konnte Konfigurationsdatei \"${MYSQL_INSTALL_DIR}/sys-maint.cnf\" nicht erstellen..
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
echononl "Erstelle Logrotate Definitionsdatei /etc/logrotate.d/mysql.."
|
||||
@ -2282,4 +2466,4 @@ fi
|
||||
|
||||
|
||||
echo
|
||||
exit
|
||||
exit 0
|
||||
|
Loading…
Reference in New Issue
Block a user