diff --git a/install_mysql.sh b/install_mysql.sh index 6ebd675..19d15e2 100755 --- a/install_mysql.sh +++ b/install_mysql.sh @@ -177,19 +177,22 @@ echo "Soll eine vorhanden MySQL Installation geupdateted werden?" echo "" echo "[1] Neuinstallation" echo "[2] Update vorhandener Installation" +echo "[3] Parallelinstallation (nur Neuinstallation)" echo "" echononl "Eingabe: " -while [ "$_UPDATE_MYSQL" != "update" -a "$_UPDATE_MYSQL" != "new" ];do +while [ "$_UPDATE_MYSQL" != "update" -a "$_UPDATE_MYSQL" != "new" -a "$_UPDATE_MYSQL" != "parallel" ];do read OPTION case $OPTION in 1) _UPDATE_MYSQL="new" ;; 2) _UPDATE_MYSQL="update" ;; + 3) _UPDATE_MYSQL="parallel" + ;; *) echo "" - echo -e "\tFalsche Eingabe ! [ 1 = Neuinstallation ; 2 = Update ]" + echo -e "\tFalsche Eingabe ! [ 1 = Neuinstallation ; 2 = Update ; 3 = Parallelinstallation]" echo "" echononl "Eingabe:" ;; @@ -201,6 +204,12 @@ else UPDATE_MYSQL=false fi +if [ "$_UPDATE_MYSQL" = "parallel" ];then + PARALLEL_INSTALLATION=true +else + PARALLEL_INSTALLATION=false +fi + if ! $UPDATE_MYSQL ; then MYSQL_DISTRIBUTION= @@ -233,6 +242,21 @@ if ! $UPDATE_MYSQL ; then done fi + +if [[ -n "$(which mysqld)" ]] ; then + + if $PARALLEL_INSTALLATION && ! $UPDATE_MYSQL ; then + fatal "Found binary '$(which mysqld)', but you are not in update mode!" + fi + +else + + if $UPDATE_MYSQL ; then + fatal "No installed MySQL server or distribution found, but you are in update mode!" + fi + +fi + if $UPDATE_MYSQL ; then _MYSQLD_VERSION="$(mysqld -V 2>/dev/null)" @@ -252,7 +276,7 @@ if $UPDATE_MYSQL ; then echo_ok echononl "Get current MySQL Version.." - CURRENT_VERSION="$(echo $_MYSQLD_VERSION | grep -o -E "[0-9]+\.[0-9]+\.[0-9]+(-[0-9]+)?" | head -n 1)" + CURRENT_VERSION="$(echo $_MYSQLD_VERSION | grep -o -E "[0-9]+\.[0-9]+\.[0-9]+(-[0-9]+)?")" CURRENT_MAIN_VERSION="$(echo $MYSQL_VERSION | cut -d '.' -f1,2)" if [[ -n "$CURRENT_VERSION" ]]; then echo_ok @@ -298,7 +322,6 @@ if $UPDATE_MYSQL ; then done fi - fi @@ -448,6 +471,10 @@ if $UPDATE_MYSQL ; then fi +if $PARALLEL_INSTALLATION ; then + _MYSQL_LOG_DIR="$(dirname "$_MYSQL_LOG_DIR")/${MYSQL_DISTRIBUTION,,}-${MYSQL_VERSION}" +fi + echo "" echo -e "\033[32m--\033[m" echo "" @@ -463,10 +490,30 @@ do fi done +if $PARALLEL_INSTALLATION ; then + + declare -i _port=3307 + + while [[ $_port -lt 3316 ]] ; do + if $(netstat -tlnp | grep mysql | grep -q ":$_port" 2> /dev/null) ; then + ((_port++)) + continue + else + _MYSQL_PORT=$_port + break + fi + done + + if $(netstat -tlnp | grep mysql | grep -q ":$_MYSQL_PORT" 2> /dev/null) ; then + fatal "To many parallel installations" + fi + +fi + echo "" echo -e "\033[32m--\033[m" echo "" -echo "Gib den TCP Port für MySQL an (voreingestell \"${MYSQL_PORT}\")." +echo "Gib den TCP Port für MySQL an (voreingestell \"${_MYSQL_PORT}\")." echo "" MYSQL_PORT= while [ "X$MYSQL_PORT" = "X" ] @@ -478,6 +525,11 @@ do fi done + +if $PARALLEL_INSTALLATION ; then + _MYSQL_UNIX_SOCKET="/tmp/${MYSQL_DISTRIBUTION,,}-${MYSQL_VERSION}.sock" +fi + echo "" echo -e "\033[32m--\033[m" echo "" @@ -567,55 +619,64 @@ do fi done - -__SYMLINK_INSTALL_DIR=ja -__SYMLINK_DATA_DIR=ja - -echo -e "\033[32m--\033[m" -echo "" -echo "Symlinks:" -echo "" -echo " - Setze Sysmlink for das Installationsverzeichnis `dirname $MYSQL_INSTALL_DIR`/mysql" -echo " - Setze Sysmlink for das Datenverzeichnis `dirname $MYSQL_DATA_DIR`/mysql" -echo "" - -echo "" -_SYMLINK_INSTALL_DIR="" -echononl "Sysmlink für das Installationsverzeichnis? (ja/nein) [${__SYMLINK_INSTALL_DIR}]: " -read _SYMLINK_INSTALL_DIR -if [ "X$_SYMLINK_INSTALL_DIR" = "X" ];then - _SYMLINK_INSTALL_DIR=$__SYMLINK_INSTALL_DIR -fi - -_SYMLINK_INSTALL_DIR="$(echo "$_SYMLINK_INSTALL_DIR" | tr '[:upper:]' '[:lower:]')" -while [ "$_SYMLINK_INSTALL_DIR" != "ja" -a "$_SYMLINK_INSTALL_DIR" != "nein" ]; do - echononl "Falsche Eingabe. (ja/nein): " - read _SYMLINK_INSTALL_DIR -done -if [ "$_SYMLINK_INSTALL_DIR" = "ja" -o "$_SYMLINK_INSTALL_DIR" = "Ja" ]; then - SYMLINK_INSTALL_DIR=true -else +if $PARALLEL_INSTALLATION ; then SYMLINK_INSTALL_DIR=false -fi - -echo "" -_SYMLINK_DATA_DIR="" -echononl "Sysmlink für das Datenverzeichnis? (ja/nein) [${__SYMLINK_DATA_DIR}]: " -read _SYMLINK_DATA_DIR -if [ "X$_SYMLINK_DATA_DIR" = "X" ];then - _SYMLINK_DATA_DIR=$__SYMLINK_DATA_DIR -fi - -__SYMLINK_DATA_DIR="$(echo "$_SYMLINK_DATA_DIR" | tr '[:upper:]' '[:lower:]')" -while [ "$_SYMLINK_DATA_DIR" != "ja" -a "$_SYMLINK_DATA_DIR" != "nein" ]; do - echononl "Falsche Eingabe. (ja/nein): " - read _SYMLINK_DATA_DIR -done -if [ "$_SYMLINK_DATA_DIR" = "ja" -o "$_SYMLINK_DATA_DIR" = "Ja" ]; then - SYMLINK_DATA_DIR=true -else SYMLINK_DATA_DIR=false fi + + +if ! $PARALLEL_INSTALLATION ; then + + __SYMLINK_INSTALL_DIR=ja + __SYMLINK_DATA_DIR=ja + + echo -e "\033[32m--\033[m" + echo "" + echo "Symlinks:" + echo "" + echo " - Setze Sysmlink for das Installationsverzeichnis `dirname $MYSQL_INSTALL_DIR`/mysql" + echo " - Setze Sysmlink for das Datenverzeichnis `dirname $MYSQL_DATA_DIR`/mysql" + echo "" + + echo "" + _SYMLINK_INSTALL_DIR="" + echononl "Sysmlink für das Installationsverzeichnis? (ja/nein) [${__SYMLINK_INSTALL_DIR}]: " + read _SYMLINK_INSTALL_DIR + if [ "X$_SYMLINK_INSTALL_DIR" = "X" ];then + _SYMLINK_INSTALL_DIR=$__SYMLINK_INSTALL_DIR + fi + + _SYMLINK_INSTALL_DIR="$(echo "$_SYMLINK_INSTALL_DIR" | tr '[:upper:]' '[:lower:]')" + while [ "$_SYMLINK_INSTALL_DIR" != "ja" -a "$_SYMLINK_INSTALL_DIR" != "nein" ]; do + echononl "Falsche Eingabe. (ja/nein): " + read _SYMLINK_INSTALL_DIR + done + if [ "$_SYMLINK_INSTALL_DIR" = "ja" -o "$_SYMLINK_INSTALL_DIR" = "Ja" ]; then + SYMLINK_INSTALL_DIR=true + else + SYMLINK_INSTALL_DIR=false + fi + + echo "" + _SYMLINK_DATA_DIR="" + echononl "Sysmlink für das Datenverzeichnis? (ja/nein) [${__SYMLINK_DATA_DIR}]: " + read _SYMLINK_DATA_DIR + if [ "X$_SYMLINK_DATA_DIR" = "X" ];then + _SYMLINK_DATA_DIR=$__SYMLINK_DATA_DIR + fi + + __SYMLINK_DATA_DIR="$(echo "$_SYMLINK_DATA_DIR" | tr '[:upper:]' '[:lower:]')" + while [ "$_SYMLINK_DATA_DIR" != "ja" -a "$_SYMLINK_DATA_DIR" != "nein" ]; do + echononl "Falsche Eingabe. (ja/nein): " + read _SYMLINK_DATA_DIR + done + if [ "$_SYMLINK_DATA_DIR" = "ja" -o "$_SYMLINK_DATA_DIR" = "Ja" ]; then + SYMLINK_DATA_DIR=true + else + SYMLINK_DATA_DIR=false + fi + +fi # if ! $PARALLEL_INSTALLATION ; then @@ -655,8 +716,13 @@ else echo "" echo "Wie soll der MySQL Datenbank Service getsartet werden?" echo "" - echo "[1] SysVinit script mysql.server" - echo -e "[2] \033[37m\033[1mSystemd service mysqld.service\033[m" + if $PARALLEL_INSTALLATION ; then + echo "[1] SysVinit script ${MYSQL_DISTRIBUTION,,}-${MYSQL_VERSION}.server" + echo -e "[2] \033[37m\033[1mSystemd service ${MYSQL_DISTRIBUTION,,}-${MYSQL_VERSION}.service\033[m" + else + echo "[1] SysVinit script mysql.server" + echo -e "[2] \033[37m\033[1mSystemd service mysqld.service\033[m" + fi echo "" echo "" echo "Type a number or press to choose highlighted value" @@ -691,14 +757,23 @@ MYSQL_SERVICE_FILE="" MYSQL_SYSV_INIT_SCRIPT="" SYSTEMD_PID_DIR="" if $INSTALL_SYSTEMD_SERVICE ; then - if [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]]; then + + if $PARALLEL_INSTALLATION ; then + MYSQL_SERVICE_FILE="${MYSQL_DISTRIBUTION,,}-${MYSQL_VERSION}.service" + SYSTEMD_PID_DIR="$MYSQL_DATA_DIR" + elif [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]]; then MYSQL_SERVICE_FILE="mariadb.service" else MYSQL_SERVICE_FILE="mysqld.service" SYSTEMD_PID_DIR="$MYSQL_DATA_DIR" fi else - MYSQL_SYSV_INIT_SCRIPT="mysql.server" + if $PARALLEL_INSTALLATION ; then + MYSQL_SYSV_INIT_SCRIPT="${MYSQL_DISTRIBUTION,,}-${MYSQL_VERSION}.server" + SUPPORT_FILE_INIT_SCRIPT="mysql.server" + else + MYSQL_SYSV_INIT_SCRIPT="mysql.server" + fi fi @@ -910,48 +985,43 @@ echo "SYSTEMD_PID_DIR=$SYSTEMD_PID_DIR" >> ${logdir}/main.log echo "MYSQL_SYSV_INIT_SCRIPT=$MYSQL_SYSV_INIT_SCRIPT" >> ${logdir}/main.log echo "VSERVER_GUEST=$VSERVER_GUEST" >> ${logdir}/main.log -MYSQL_INIT_SCRIPT="" -MYSQLD_SERVICE_FILE="" -if $SYSTEMD_EXISTS ; then - if [[ -f "/etc/systemd/system/$MYSQL_SERVICE_FILE" ]]; then - MYSQLD_SERVICE_FILE="${MYSQL_SERVICE_FILE}" - else - # - Is Service exclusive controlled by systemd - # - - if systemctl -t service list-unit-files \ - | grep -e "^mysql" \ - | grep -q -E "(enabled|disabled|generated)" 2> /devnull ; then - MYSQLD_SERVICE_FILE=$(systemctl -t service list-unit-files \ - | grep -e "^mysql" \ - | awk '{print$1}' \ - | head -1) - fi - fi +if ! $PARALLEL_INSTALLATION ; then -fi + MYSQL_INIT_SCRIPT="" + MYSQLD_SERVICE_FILE="" + if $SYSTEMD_EXISTS ; then + if [[ -f "/etc/systemd/system/$MYSQL_SERVICE_FILE" ]]; then + MYSQLD_SERVICE_FILE="${MYSQL_SERVICE_FILE}" + else + # - Is Service exclusive controlled by systemd + # - + if systemctl -t service list-unit-files \ + | grep -e "^mysql" \ + | grep -q -E "(enabled|disabled|generated)" 2> /devnull ; then -if [[ -f "/etc/systemd/system/$MYSQL_SERVICE_FILE" ]]; then - MYSQL_INIT_SCRIPT="${MYSQL_SYSV_INIT_SCRIPT}" -elif [[ -x "$(realpath /etc/init.d/mysql.server)" ]]; then - MYSQL_INIT_SCRIPT="mysql.server" -elif [[ -x "$(realpath /etc/init.d/mysql)" ]]; then - MYSQL_INIT_SCRIPT="mysql" -fi + MYSQLD_SERVICE_FILE=$(systemctl -t service list-unit-files \ + | grep -e "^mysql" \ + | awk '{print$1}' \ + | head -1) + fi + fi -if [[ -z "$MYSQL_INIT_SCRIPT" ]] && [[ -z "$MYSQLD_SERVICE_FILE" ]] && $UPDATE_MYSQL ; then - error "Kein start/stop Sevice File/ Init Script gefunden.." + fi - echononl "continue anyway [yes/no]: " - read OK - OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" - while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do - echononl "Wrong entry! - repeat [yes/nno]: " - read OK - done - [[ $OK = "yes" ]] || fatal "Abbruch durch User" + if [[ -f "/etc/systemd/system/$MYSQL_SERVICE_FILE" ]]; then + MYSQL_INIT_SCRIPT="${MYSQL_SYSV_INIT_SCRIPT}" + elif [[ -x "$(realpath /etc/init.d/mysql.server)" ]]; then + MYSQL_INIT_SCRIPT="mysql.server" + elif [[ -x "$(realpath /etc/init.d/mysql)" ]]; then + MYSQL_INIT_SCRIPT="mysql" + fi -fi + if [[ -z "$MYSQL_INIT_SCRIPT" ]] && [[ -z "$MYSQLD_SERVICE_FILE" ]] && $UPDATE_MYSQL ; then + fatal "Kein start/stop Sevice File/ Init Script gefunden.." + fi + +fi # if ! $PARALLEL_INSTALLATION ; then ## --- @@ -1086,169 +1156,181 @@ fi ## - Stop MySQL Service if running ## - echononl "Stop MySQL Service.." -PIDS="$(ps aux | grep -E "(bin/mysqld_safe |bin/mysqld )" | grep -v grep | awk '{print$2}')" -if [[ "X${PIDS}X" != "XX" ]];then - echo "" >> ${logdir}/main.log - echo "## - Stop MySQL Service" >> ${logdir}/main.log - echo "## -" >> ${logdir}/main.log - if $SYSTEMD_EXISTS ; then - if [[ -n "$MYSQLD_SERVICE_FILE" ]] ; then - echo "systemctl stop ${MYSQLD_SERVICE_FILE}" >> ${logdir}/main.log - systemctl stop ${MYSQLD_SERVICE_FILE} >> ${logdir}/main.log 2>&1 - else - echo "systemctl stop ${MYSQL_INIT_SCRIPT}" >> ${logdir}/main.log - systemctl stop ${MYSQL_INIT_SCRIPT} >> ${logdir}/main.log 2>&1 - fi - else - echo "/etc/init.d/$MYSQL_INIT_SCRIPT stop" >> ${logdir}/main.log - /etc/init.d/$MYSQL_INIT_SCRIPT stop >> ${logdir}/main.log 2>&1 - fi +if $PARALLEL_INSTALLATION || ! $UPDATE_MYSQL; then + echo_skipped +else + _pid_string="${MYSQL_CUR_DISTRIBUTION,,}-${CURRENT_VERSION}/bin/(mysqld_safe |mysqld )" + PIDS="$(ps aux | grep -E "$_pid_string" | grep -v grep | awk '{print$2}')" - sleep 5 - - PIDS="$(ps aux | grep -E "(bin/mysqld_safe |bin/mysqld )" | grep -v grep | awk '{print$2}')" - if [[ -z "${PIDS}" ]]; then - echo_ok - else - echo_failed - - echononl "Abbruch (kill -9) aller mysqld Prozesse.." + if [[ "X${PIDS}X" != "XX" ]];then echo "" >> ${logdir}/main.log - echo "## - Abbruch (kill -9) aller mysqld Prozesse" >> ${logdir}/main.log - echo "## -" >> ${logdir}/main.log - - declare -i i=0 - - while [[ -n "$PIDS" ]] ; do - - if [[ $i -gt 10 ]]; then - echo_failed - error "Killing remaining MySQL processes failed!" - break + echo "## - Stop MySQL Service" >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + if $SYSTEMD_EXISTS ; then + if [[ -n "$MYSQLD_SERVICE_FILE" ]] ; then + echo "systemctl stop ${MYSQLD_SERVICE_FILE}" >> ${logdir}/main.log + systemctl stop ${MYSQLD_SERVICE_FILE} >> ${logdir}/main.log 2>&1 + else + echo "systemctl stop ${MYSQL_INIT_SCRIPT}" >> ${logdir}/main.log + systemctl stop ${MYSQL_INIT_SCRIPT} >> ${logdir}/main.log 2>&1 fi + else + echo "/etc/init.d/$MYSQL_INIT_SCRIPT stop" >> ${logdir}/main.log + /etc/init.d/$MYSQL_INIT_SCRIPT stop >> ${logdir}/main.log 2>&1 + fi - for _PID in $PIDS ; do - echo "kill -9 $_PID" >> ${logdir}/main.log - kill -9 $_PID >> ${logdir}/main.log 2>&1 + sleep 5 + + PIDS="$(ps aux | grep -E "$_pid_string" | grep -v grep | awk '{print$2}')" + if [[ -z "${PIDS}" ]]; then + echo_ok + else + echo_failed + + echononl "Abbruch (kill -9) aller mysqld Prozesse.." + echo "" >> ${logdir}/main.log + echo "## - Abbruch (kill -9) aller mysqld Prozesse" >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + + declare -i i=0 + + while [[ -n "$PIDS" ]] ; do + + if [[ $i -gt 10 ]]; then + echo_failed + error "Killing remaining MySQL processes failed!" + break + fi + + for _PID in $PIDS ; do + echo "kill -9 $_PID" >> ${logdir}/main.log + kill -9 $_PID >> ${logdir}/main.log 2>&1 + done + + sleep 2 + + PIDS="$(ps aux | grep -E "(bin/mysqld_safe |bin/mysqld )" | grep -v grep | awk '{print$2}')" + (( i++ )) done - sleep 2 - - PIDS="$(ps aux | grep -E "(bin/mysqld_safe |bin/mysqld )" | grep -v grep | awk '{print$2}')" - (( i++ )) - done - - [[ $i -le 10 ]] && echo_ok + [[ $i -le 10 ]] && echo_ok + fi + else + echo_skipped fi -else - echo_skipped -fi + +fi # if $PARALLEL_INSTALLATION ; then ## ----- ## - Deactivate starting MySQL database service at boot time and ## - cleanup System from SysVinit script and/or Systemd service file ## ----- -if [[ -n "$MYSQL_INIT_SCRIPT" ]] || [[ -n "$MYSQLD_SERVICE_FILE" ]]; then - echo "" - echo "" - echo -e "\033[37m\033[1mDeactivate starting MySQL database service at boot time and" - echo -e "cleanup System from SysVinit script and/or Systemd service file.\033[m" - echo "" - echo "" >> ${logdir}/main.log - echo "" >> ${logdir}/main.log - echo "## -----" >> ${logdir}/main.log - echo "## - Deactivate starting MySQL database service at boot time and" >> ${logdir}/main.log - echo "## - cleanup System from SysVinit script and/or Systemd service file." >> ${logdir}/main.log - echo "## -----" >> ${logdir}/main.log -fi +if ! $PARALLEL_INSTALLATION ; then -if [[ -n "$MYSQL_INIT_SCRIPT" ]] ; then + if [[ -n "$MYSQL_INIT_SCRIPT" ]] || [[ -n "$MYSQLD_SERVICE_FILE" ]]; then + echo "" + echo "" + echo -e "\033[37m\033[1mDeactivate starting MySQL database service at boot time and" + echo -e "cleanup System from SysVinit script and/or Systemd service file.\033[m" + echo "" - if [[ -f "/etc/init.d/$MYSQL_INIT_SCRIPT" ]]; then - echononl "Entferne existierendes Initskript" echo "" >> ${logdir}/main.log - echo "## - Entferne existierendes Initskript" >> ${logdir}/main.log + echo "" >> ${logdir}/main.log + echo "## -----" >> ${logdir}/main.log + echo "## - Deactivate starting MySQL database service at boot time and" >> ${logdir}/main.log + echo "## - cleanup System from SysVinit script and/or Systemd service file." >> ${logdir}/main.log + echo "## -----" >> ${logdir}/main.log + fi + + if [[ -n "$MYSQL_INIT_SCRIPT" ]] ; then + + if [[ -f "/etc/init.d/$MYSQL_INIT_SCRIPT" ]]; then + echononl "Entferne existierendes Initskript" + echo "" >> ${logdir}/main.log + echo "## - Entferne existierendes Initskript" >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + echo "rm -f /etc/init.d/$MYSQL_INIT_SCRIPT" >> ${logdir}/main.log + rm -f /etc/init.d/$MYSQL_INIT_SCRIPT >> ${logdir}/main.log 2>&1 + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + fatal "Kann existierendes Initskript nicht entfernen." + fi + fi + + ## - Entferne symbolische Links aus den Run Level Verzeichnissen + ## - + echononl "Entferne symbolische Links aus den Run Level Verzeichnissen" + echo "" >> ${logdir}/main.log + echo "## - Entferne symbolische Links aus den Run Level Verzeichnissen" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log - echo "rm -f /etc/init.d/$MYSQL_INIT_SCRIPT" >> ${logdir}/main.log - rm -f /etc/init.d/$MYSQL_INIT_SCRIPT >> ${logdir}/main.log 2>&1 + echo "update-rc.d -f $MYSQL_INIT_SCRIPT remove" >> ${logdir}/main.log + update-rc.d -f $MYSQL_INIT_SCRIPT remove >> ${logdir}/main.log 2>&1 if [ "$?" = "0" ]; then echo_ok else echo_failed - fatal "Kann existierendes Initskript nicht entfernen." + fatal "Kann symbolische Links (Run Level Verzeichnisse) nicht entfernen." fi fi - ## - Entferne symbolische Links aus den Run Level Verzeichnissen - ## - - echononl "Entferne symbolische Links aus den Run Level Verzeichnissen" - echo "" >> ${logdir}/main.log - echo "## - Entferne symbolische Links aus den Run Level Verzeichnissen" >> ${logdir}/main.log - echo "## -" >> ${logdir}/main.log - echo "update-rc.d -f $MYSQL_INIT_SCRIPT remove" >> ${logdir}/main.log - update-rc.d -f $MYSQL_INIT_SCRIPT remove >> ${logdir}/main.log 2>&1 - if [ "$?" = "0" ]; then - echo_ok - else - echo_failed - fatal "Kann symbolische Links (Run Level Verzeichnisse) nicht entfernen." - fi -fi + if [[ -n "$MYSQLD_SERVICE_FILE" ]]; then -if [[ -n "$MYSQLD_SERVICE_FILE" ]]; then + echononl "Deaktiviere Systemd Service \"$MYSQLD_SERVICE_FILE\".." + echo "" >> ${logdir}/main.log + echo "## - Deaktiviere Systemd Service \"$MYSQLD_SERVICE_FILE\"" >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + echo "systemctl disable \"$MYSQLD_SERVICE_FILE\"" >> ${logdir}/main.log - echononl "Deaktiviere Systemd Service \"$MYSQLD_SERVICE_FILE\".." - echo "" >> ${logdir}/main.log - echo "## - Deaktiviere Systemd Service \"$MYSQLD_SERVICE_FILE\"" >> ${logdir}/main.log - echo "## -" >> ${logdir}/main.log - echo "systemctl disable \"$MYSQLD_SERVICE_FILE\"" >> ${logdir}/main.log + systemctl disable "$MYSQLD_SERVICE_FILE" >> ${logdir}/main.log 2>&1 + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + warn "Kann Systemd Service \"$MYSQLD_SERVICE_FILE\" nicht deaktivieren!" + fi + + echononl "Entferne Systemd Service \"etc/systemd/system/${MYSQLD_SERVICE_FILE}\".." + echo "" >> ${logdir}/main.log + echo "## - Enferne datei \"/etc/systemd/system/${MYSQLD_SERVICE_FILE}\"" >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + echo "rm \"/etc/systemd/system/${MYSQLD_SERVICE_FILE}\"" >> ${logdir}/main.log - systemctl disable "$MYSQLD_SERVICE_FILE" >> ${logdir}/main.log 2>&1 - if [ "$?" = "0" ]; then - echo_ok - else - echo_failed - warn "Kann Systemd Service \"$MYSQLD_SERVICE_FILE\" nicht deaktivieren!" - fi - - echononl "Entferne Systemd Service \"etc/systemd/system/${MYSQLD_SERVICE_FILE}\".." - echo "" >> ${logdir}/main.log - echo "## - Enferne datei \"/etc/systemd/system/${MYSQLD_SERVICE_FILE}\"" >> ${logdir}/main.log - echo "## -" >> ${logdir}/main.log - echo "rm \"/etc/systemd/system/${MYSQLD_SERVICE_FILE}\"" >> ${logdir}/main.log + rm "/etc/systemd/system/${MYSQLD_SERVICE_FILE}" >> ${logdir}/main.log 2>&1 + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + warn "Kann existierendes Initskript nicht entfernen." + fi + + echononl "Reload Systemd Daemon" + echo "" >> ${logdir}/main.log + echo "## - Reload Systemd Daemon" >> ${logdir}/main.log + 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 "Kann Systemd Daemon nicht reloaden." + fi + - rm "/etc/systemd/system/${MYSQLD_SERVICE_FILE}" >> ${logdir}/main.log 2>&1 - if [ "$?" = "0" ]; then - echo_ok - else - echo_failed - warn "Kann existierendes Initskript nicht entfernen." fi - echononl "Reload Systemd Daemon" - echo "" >> ${logdir}/main.log - echo "## - Reload Systemd Daemon" >> ${logdir}/main.log - 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 "Kann Systemd Daemon nicht reloaden." - fi - - -fi +fi # if ! $PARALLEL_INSTALLATION ; then ## ----- ## - Install needed debian packages ## ----- -if ! $UPDATE_MYSQL ; then +if ! $UPDATE_MYSQL && ! $PARALLEL_INSTALLATION ; then echo "" echo "" @@ -1731,6 +1813,18 @@ else fatal Kann LOG Verzeichnis \"${MYSQL_LOG_DIR}\" nicht erstellen.. fi +echononl "Erstelle Error Log Datei '$_mysql_error_log'.." +echo "" >> ${logdir}/main.log +echo "## - Erstelle Error Log Datei '$_mysql_error_log'.." >> ${logdir}/main.log +echo "## -" >> ${logdir}/main.log +echo "touch $_mysql_error_log" >> ${logdir}/main.log +touch "$_mysql_error_log" >> ${logdir}/main.log 2>&1 +if [ "$?" = "0" ]; then + echo_ok +else + echo_failed + fatal "Kann LOG Datei \"${_mysql_error_log}\" nicht erstellen.." +fi echononl "Setze Besitzer \"${MYSQL_USER}:${MYSQL_GROUP}\" für LOG Verzeichnis" echo "" >> ${logdir}/main.log @@ -1758,6 +1852,19 @@ else fatal Kann Verzeichnisrechte für LOG Verzeichnis \"${MYSQL_LOG_DIR}\" nicht ändern.. fi +echononl "Setze Verzeichnisrechte \"660\" für Error LOG Datei" +echo "" >> ${logdir}/main.log +echo "## - Setze Verzeichnisrechte \"660\" für Error LOG Verzeichnis" >> ${logdir}/main.log +echo "## -" >> ${logdir}/main.log +echo "chmod 660 ${_mysql_error_log}" >> ${logdir}/main.log +chmod 660 ${_mysql_error_log} >> ${logdir}/main.log 2>&1 +if [ "$?" = "0" ]; then + echo_ok +else + echo_failed + fatal "Kann Verzeichnisrechte für Erro LOG Datei \"${_mysql_error_log}\" nicht ändern!" +fi + if [ -d "${MYSQL_SRC_DIR}" ];then echononl "Verschiebe exitierendes Sourceverzeichnis ..." @@ -1897,7 +2004,7 @@ fi # - We change the default to empty ("") with -D INSTALL_SECURE_FILE_PRIVDIR="" option # - # --- -# - MariaDBD +# - MariaDB # --- # - # - NOT supported (in contrast to original MySQL) @@ -2707,14 +2814,10 @@ socket = $MYSQL_UNIX_SOCKET ## - sql_mode ## - ## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available -## - -## - The default SQL mode in MySQL 8.0 includes these modes: -## - ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, -## - ERROR_FOR_DIVISION_BY_ZERO, and NO_ENGINE_SUBSTITUTION. ## - ## - For now, we will use the default value, it seems to be ok. ## - -#sql-mode = \"ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION\" +#sql-mode = \"ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\" " >> ${logdir}/main.log else @@ -3002,7 +3105,6 @@ innodb-file-per-table = 1 ## - #innodb-buffer-pool-size = 384M #innodb-buffer-pool-size = 1024M -innodb_buffer_pool_size = 1G ## - innodb_additional_mem_pool_size @@ -3016,8 +3118,6 @@ innodb_buffer_pool_size = 1G ## - innodb_additional_mem_pool_size is deprected since version 5.6.3 ## - innodb_additional_mem_pool_size is removed since version 5.7 ## - -## - innodb_additional_mem_pool_size is also removed on MariaDB 10.3.x -## - #innodb-additional-mem_pool-size = 20M #innodb-additional-mem_pool-size = 40M @@ -3080,8 +3180,6 @@ innodb_buffer_pool_size = 1G ## - DROP TABLE IF EXISTS.. ## - ... ## - -## - Default: innodb-flush-log-at-trx-commit = 1 -## - #innodb-flush-log-at-trx-commit = 1 #innodb-flush-log-at-trx-commit = 2 @@ -3106,8 +3204,7 @@ innodb_buffer_pool_size = 1G ## - ## - Default: 2097152 (2M) ## - -#sort-buffer-size = 2M -sort-buffer-size = 8M +sort-buffer-size = 2M ## - key_buffer_size @@ -3131,8 +3228,7 @@ key-buffer-size = 384M ## - ## - Default: 131072 (128K) ## - -#read-buffer-size = 2M -read-buffer-size = 8M +read-buffer-size = 2M ## - read_rnd_buffer_size ## - @@ -3141,8 +3237,7 @@ read-buffer-size = 8M ## - ## - Default: 262144 (256K) ## - -#read-rnd-buffer-size = 8M -read-rnd-buffer-size = 32M +read-rnd-buffer-size = 8M ## - myisam_sort_buffer_size @@ -3178,8 +3273,7 @@ max-allowed-packet = 32M ## - closed and reopened), then you should increase the value of the ## - table_open_cache variable. ## - -#table-open-cache = 512 -table-open-cache = 8192 +table-open-cache = 512 ## - table_definition_cache ## - @@ -3217,7 +3311,7 @@ max-connect-errors = 999999 ## - ## - Default: 8 + (max_connections / 100) (5.6.8) , 0 (before) ## - -#thread-cache-size = 8 +thread-cache-size = 8 ## - thread_stack ## - @@ -3308,7 +3402,6 @@ log-error = $_mysql_error_log ## - SELECT SQL_NO_CACHE beginnen. ## - 2 : speichert nur diejenigen Anweisungen im Cache, ## - die mit SELECT SQL_CACHE beginnen. -## - " >> ${logdir}/main.log if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \ @@ -3316,6 +3409,7 @@ log-error = $_mysql_error_log || ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \ && [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then echo " +## - die mit SELECT SQL_CACHE beginnen. ## - Removed since Version 8.0.3 ## - #query_cache_type = 1" >> ${logdir}/main.log @@ -3340,6 +3434,7 @@ log-error = $_mysql_error_log || ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \ && [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then echo " +## - die mit SELECT SQL_CACHE beginnen. ## - Removed since Version 8.0.3 ## - #query-cache-limit = 4M" >> ${logdir}/main.log @@ -3410,8 +3505,7 @@ log-error = $_mysql_error_log else echo "#query-cache-size = 32M -#query-cache-size = 128M -query_cache_size = 1024M" >> ${logdir}/main.log +#query-cache-size = 128M" >> ${logdir}/main.log fi echo " @@ -3487,9 +3581,6 @@ log-queries-not-using-indexes = 0 ## - Vorgabewert ist 128K ## - #join-buffer-size = 384K -#join_buffer_size = 768K -join_buffer_size = 1024K -#join_buffer_size = 1536K @@ -3504,10 +3595,6 @@ join_buffer_size = 1024K ## - Vorgabewert ist 16Mbyte ## - #max-heap-table-size = 96M -#max_heap_table_size = 128M -max_heap_table_size = 768M -#max_heap_table_size = 1024M -#max_heap_table_size = 2048M ## - tmp_table_size @@ -3524,9 +3611,6 @@ max_heap_table_size = 768M ## - Effective in-memory tmp_table_size is limited to max_heap_table_size. ## - #tmp-table-size = 96M -tmp_table_size = 768M -#tmp_table_size = 1024M -#tmp_table_size = 2048M ## - angepasste Einstellungen @@ -3588,14 +3672,10 @@ interactive-timeout ## - sql_mode ## - ## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available -## - -## - The default SQL mode in MySQL 8.0 includes these modes: -## - ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, -## - ERROR_FOR_DIVISION_BY_ZERO, and NO_ENGINE_SUBSTITUTION. ## - ## - For now, we will use the default value, it seems to be ok. ## - -#sql-mode = \"ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION\" +#sql-mode = \"ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\" EOF" >> ${logdir}/main.log @@ -3932,7 +4012,7 @@ innodb-file-per-table = 1 ## - #innodb-log-group-home-dir = /var/lib/mysql/ -## - innodb_buffer_pool_size +## - innodb-buffer-pool-size ## - ## - The size in bytes of the buffer pool, the memory area where InnoDB ## - caches table and index data. @@ -3949,7 +4029,6 @@ innodb-file-per-table = 1 ## - #innodb-buffer-pool-size = 384M #innodb-buffer-pool-size = 1024M -innodb_buffer_pool_size = 1G ## - innodb_additional_mem_pool_size @@ -3959,12 +4038,6 @@ innodb_buffer_pool_size = 1G ## - ## - Default: 8388608 (8M) ## - -## - Note !! -## - innodb_additional_mem_pool_size is deprected since version 5.6.3 -## - innodb_additional_mem_pool_size is removed since version 5.7 -## - -## - innodb_additional_mem_pool_size is also removed on MariaDB 10.3.x -## - #innodb-additional-mem-pool-size = 20M #innodb-additional-mem-pool-size = 40M @@ -4027,8 +4100,6 @@ innodb_buffer_pool_size = 1G ## - DROP TABLE IF EXISTS.. ## - ... ## - -## - Default: innodb-flush-log-at-trx-commit = 1 -## - #innodb-flush-log-at-trx-commit = 1 #innodb-flush-log-at-trx-commit = 2 @@ -4053,8 +4124,7 @@ innodb_buffer_pool_size = 1G ## - ## - Default: 2097152 (2M) ## - -#sort-buffer-size = 2M -sort-buffer-size = 8M +sort-buffer-size = 2M ## - key_buffer_size @@ -4078,9 +4148,7 @@ key-buffer-size = 384M ## - ## - Default: 131072 (128K) ## - -#read-buffer-size = 2M -read-buffer-size = 8M - +read-buffer-size = 2M ## - read_rnd_buffer_size ## - @@ -4089,8 +4157,7 @@ read-buffer-size = 8M ## - ## - Default: 262144 (256K) ## - -#read-rnd-buffer-size = 8M -read-rnd-buffer-size = 32M +read-rnd-buffer-size = 8M ## - myisam_sort_buffer_size @@ -4126,8 +4193,7 @@ max-allowed-packet = 32M ## - closed and reopened), then you should increase the value of the ## - table_open_cache variable. ## - -#table-open-cache = 512 -table-open-cache = 8192 +table-open-cache = 512 ## - table_definition_cache ## - @@ -4165,7 +4231,7 @@ max-connect-errors = 999999 ## - ## - Default: 8 + (max_connections / 100) (5.6.8) , 0 (before) ## - -#thread-cache-size = 8 +thread-cache-size = 8 ## - thread_stack ## - @@ -4291,6 +4357,7 @@ EOF && [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf +## - ## - Removed since MySQL Version 8.0.3 ## - #query-cache-limit = 4M @@ -4367,9 +4434,7 @@ EOF EOF else cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf -#query_cache_size = 32M -#query-cache-size = 128M -query-cache-size = 1024M +query-cache-size = 128M EOF fi @@ -4446,9 +4511,6 @@ log-queries-not-using-indexes = 0 ## - Vorgabewert ist 128K ## - #join-buffer-size = 384K -join_buffer_size = 768K -#join_buffer_size = 1024K -#join_buffer_size = 1536K @@ -4463,10 +4525,6 @@ join_buffer_size = 768K ## - Vorgabewert ist 16Mbyte ## - #max-heap-table-size = 96M -#max_heap_table_size = 128M -max_heap_table_size = 768M -#max_heap_table_size = 1024M -#max_heap_table_size = 2048M ## - tmp_table_size @@ -4483,9 +4541,6 @@ max_heap_table_size = 768M ## - Effective in-memory tmp_table_size is limited to max_heap_table_size. ## - #tmp-table-size = 96M -tmp_table_size = 768M -#tmp_table_size = 1024M -#tmp_table_size = 2048M ## - angepasste Einstellungen @@ -4571,6 +4626,34 @@ EOF error Konnte Konfigurationsdatei \"${MYSQL_INSTALL_DIR}/etc/my.cnf\" nicht erstellen.. fi + if [[ -f "${MYSQL_INSTALL_DIR}/my.cnf" ]]; then + echononl "Backup existing file '${MYSQL_INSTALL_DIR}/my.cnf'.." + echo "" >> ${logdir}/main.log + echo "## - Backup existing file '${MYSQL_INSTALL_DIR}/my.cnf'.." >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + echo "mv \"${MYSQL_INSTALL_DIR}/my.cnf\" \"${MYSQL_INSTALL_DIR}/my.cnf.ORIG\"" >> ${logdir}/main.log + mv "${MYSQL_INSTALL_DIR}/my.cnf" "${MYSQL_INSTALL_DIR}/my.cnf.ORIG" >> ${logdir}/main.log 2>&1 + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + error "Kann datei '${MYSQL_INSTALL_DIR}/my.cnf' nicht sichern!" + fi + fi + + echononl "Erstelle Symlink ${MYSQL_INSTALL_DIR}/my.cnf --> ${MYSQL_INSTALL_DIR}/etc/my.cnf" + echo "" >> ${logdir}/main.log + echo "## - Erstelle Symlink ${MYSQL_INSTALL_DIR}/my.cnf --> ${MYSQL_INSTALL_DIR}/etc/my.cnf" >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + echo "ln -s \"etc/my.cnf\" \"${MYSQL_INSTALL_DIR}/my.cnf\"" >> ${logdir}/main.log + ln -s "etc/my.cnf" "${MYSQL_INSTALL_DIR}/my.cnf" >> ${logdir}/main.log 2>&1 + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + error "Kann Symlink ${MYSQL_INSTALL_DIR}/my.cnf --> ${MYSQL_INSTALL_DIR}/etc/my.cnf nicht erstellen!" + fi + fi if [[ ! -d "/etc/mysql" ]]; then @@ -4603,23 +4686,47 @@ else else echo_failed error "Konnte Symlink/Datei '/etc/mysql/my.cnf' nicht sichern." + + echononl "continue anyway [yes/no]: " + read OK + OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" + while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do + echononl "Wrong entry! - repeat [yes/nno]: " + read OK + done + [[ $OK = "yes" ]] || fatal "Abbruch durch User" fi fi fi echononl "Erstelle Symlink /etc/mysql/my.cnf --> ${MYSQL_INSTALL_DIR}/etc/my.cnf" -echo "" >> ${logdir}/main.log -echo "## - Erstelle Symlink /etc/mysql/my.cnf --> ${MYSQL_INSTALL_DIR}/etc/my.cnf" >> ${logdir}/main.log -echo "## -" >> ${logdir}/main.log -echo "ln -s \"$(dirname \"${MYSQL_INSTALL_DIR}\")/mysql/etc/my.cnf\" \"/etc/mysql/\"" >> ${logdir}/main.log -ln -s "$(dirname "${MYSQL_INSTALL_DIR}")/mysql/etc/my.cnf" "/etc/mysql/my.cnf" >> ${logdir}/main.log 2>&1 -if [ "$?" = "0" ]; then - echo_ok +if ! $PARALLEL_INSTALLATION ; then + + echo "" >> ${logdir}/main.log + echo "## - Erstelle Symlink /etc/mysql/my.cnf --> ${MYSQL_INSTALL_DIR}/etc/my.cnf" >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + echo "ln -s \"$(dirname "${MYSQL_INSTALL_DIR}")/mysql/etc/my.cnf\" \"/etc/mysql/\"" >> ${logdir}/main.log + ln -s "$(dirname "${MYSQL_INSTALL_DIR}")/mysql/etc/my.cnf" "/etc/mysql/my.cnf" >> ${logdir}/main.log 2>&1 + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + error "Konnte Symlink /etc/mysql/my.cnf --> ${MYSQL_INSTALL_DIR}/etc/my.cnf nicht erstellen." + + echononl "continue anyway [yes/no]: " + read OK + OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" + while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do + echononl "Wrong entry! - repeat [yes/nno]: " + read OK + done + [[ $OK = "yes" ]] || fatal "Abbruch durch User" + fi + else - echo_failed - error "Konnte Symlink /etc/mysql/my.cnf --> ${MYSQL_INSTALL_DIR}/etc/my.cnf nicht erstellen." -fi + echo_skipped +fi # if ! $PARALLEL_INSTALLATION ; then echononl "Kopiere 'stopwords_utf8_iso8859-15.txt' -> ${MYSQL_INSTALL_DIR}.." @@ -4714,6 +4821,67 @@ if $INSTALL_SYSTEMD_SERVICE ; then error "Setting open_files_limit (LimitNOFILE) to $(ulimit -Hn) failed!" fi + if $PARALLEL_INSTALLATION ; then + + SYSTEMD_ENV_FILE="/etc/systemd/system/${MYSQL_DISTRIBUTION,,}-${MYSQL_VERSION}.env" + + echononl "Create environmet file fo systemd service.." + echo "" >> ${logdir}/main.log + echo "## - Create environmet file fo systemd service.." >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + echo "cat < $SYSTEMD_ENV_FILE +MYSQL_HOME=\"$MYSQL_INSTALL_DIR\" +EOF +" >> ${logdir}/main.log + if [[ $? -eq 0 ]] ; then + echo_ok + else + echo_failed + error "Creating environmet file fo systemd service failed!" + fi + cat < $SYSTEMD_ENV_FILE +MYSQL_HOME="$MYSQL_INSTALL_DIR" +EOF + + echononl "Add/Replace 'EnvironmentFile' variable at service file .." + echo "" >> ${logdir}/main.log + echo "## - Add/Replace 'EnvironmentFile' variable at service file .." >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + + if grep -q -E "^\s*EnvironmentFile\s*=" /etc/systemd/system/$MYSQL_SERVICE_FILE ; then + echo "perl -i -n -p -e \"s/^(\s*EnvironmentFile\s*=.*)/#\1\nEnvironmentFile=-${SYSTEMD_ENV_FILE}\" /etc/systemd/system/$MYSQL_SERVICE_FILE" >> ${logdir}/main.log + perl -i -n -p -e "s/^(\s*EnvironmentFile\s*=.*)/#\1\nEnvironmentFile=-${SYSTEMD_ENV_FILE}/" \ + /etc/systemd/system/$MYSQL_SERVICE_FILE >> ${logdir}/main.log 2>&1 + _retval=$? + else + echo "cat <> /etc/systemd/system/$MYSQL_SERVICE_FILE + +EnvironmentFile=-$SYSTEMD_ENV_FILE +EOF" >> ${logdir}/main.log 2>&1 + cat <> /etc/systemd/system/$MYSQL_SERVICE_FILE 2>> ${logdir}/main.log + +EnvironmentFile=-$SYSTEMD_ENV_FILE +EOF + _retval=$? + fi + if [ "$_retval" = "0" ]; then + echo_ok + else + echo_failed + error "Adding/Replacing 'EnvironmentFile' variable at service file failed!" + fi + + if grep -q -E "^\s*Alias\s*=" /etc/systemd/system/$MYSQL_SERVICE_FILE ; then + echononl "Disable 'Alias' directive(s) at service file.." + echo "" >> ${logdir}/main.log + echo "## - Disable 'Alias' directive(s) at service file.." >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + echo "perl -i -n -p -e \"s/^(\s*Alias\s*=.*)/#\1\" /etc/systemd/system/$MYSQL_SERVICE_FILE" >> ${logdir}/main.log + perl -i -n -p -e "s/^(\s*Alias\s*=.*)/#\1" /etc/systemd/system/$MYSQL_SERVICE_FILE >> ${logdir}/main.log 2>&1 + fi + + fi # if $PARALLEL_INSTALLATION ; then + echononl "Aktiviere den MySQL Datenbank Service für den automatischem Start.." echo "" >> ${logdir}/main.log echo "## - Aktiviere den MySQL Datenban Service für den automatischem Start" >> ${logdir}/main.log @@ -4778,8 +4946,14 @@ else echo "" >> ${logdir}/main.log echo "## - Erstelle Symlink \"/etc/init.d/${MYSQL_SYSV_INIT_SCRIPT}\"" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log - echo "ln -s \"$(dirname $MYSQL_INSTALL_DIR)/mysql/support-files/${MYSQL_SYSV_INIT_SCRIPT}\" \"/etc/init.d/${MYSQL_SYSV_INIT_SCRIPT}\"" >> ${logdir}/main.log - ln -s "$(dirname $MYSQL_INSTALL_DIR)/mysql/support-files/${MYSQL_SYSV_INIT_SCRIPT}" /etc/init.d/${MYSQL_SYSV_INIT_SCRIPT} >> ${logdir}/main.log 2>&1 + + if $PARALLEL_INSTALLATION ; then + echo "ln -s \"${MYSQL_INSTALL_DIR}/support-files/${SUPPORT_FILE_INIT_SCRIPT}\" \"/etc/init.d/${MYSQL_SYSV_INIT_SCRIPT}\"" >> ${logdir}/main.log + ln -s "${MYSQL_INSTALL_DIR}/support-files/${SUPPORT_FILE_INIT_SCRIPT}" /etc/init.d/${MYSQL_SYSV_INIT_SCRIPT} >> ${logdir}/main.log 2>&1 + else + echo "ln -s \"$(dirname $MYSQL_INSTALL_DIR)/mysql/support-files/${MYSQL_SYSV_INIT_SCRIPT}\" \"/etc/init.d/${MYSQL_SYSV_INIT_SCRIPT}\"" >> ${logdir}/main.log + ln -s "$(dirname $MYSQL_INSTALL_DIR)/mysql/support-files/${MYSQL_SYSV_INIT_SCRIPT}" /etc/init.d/${MYSQL_SYSV_INIT_SCRIPT} >> ${logdir}/main.log 2>&1 + fi if [ "$?" = "0" ]; then echo_ok else @@ -4933,8 +5107,8 @@ if ! $UPDATE_MYSQL ; then echo "" >> ${logdir}/main.log echo "## - Delete rows with empty 'User' from table mysql.user" >> ${logdir}/main.log 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 + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e \"DELETE FROM user where User = ''\"" >> ${logdir}/main.log + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e "DELETE FROM user where User = ''" >> ${logdir}/main.log 2>&1 if [[ $? -eq 0 ]]; then echo_ok else @@ -4958,8 +5132,8 @@ if ! $UPDATE_MYSQL ; then echo "" >> ${logdir}/main.log echo "## - Delete database 'test'.." >> ${logdir}/main.log echo "## - " >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e \"DROP DATABASE test\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e "DROP DATABASE test" >> ${logdir}/main.log 2>&1 + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e \"DROP DATABASE test\"" >> ${logdir}/main.log + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e "DROP DATABASE test" >> ${logdir}/main.log 2>&1 if [[ $? -eq 0 ]]; then echo_ok else @@ -4980,8 +5154,8 @@ if ! $UPDATE_MYSQL ; then echo "" >> ${logdir}/main.log echo "## - Delete rows concerning database 'test' from table 'mysql.db'.." >> ${logdir}/main.log echo "## - " >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e \"DELETE FROM db WHERE Db LIKE 'test%'\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e "DELETE FROM db WHERE Db LIKE 'test%'" >> ${logdir}/main.log 2>&1 + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e \"DELETE FROM db WHERE Db LIKE 'test%'\"" >> ${logdir}/main.log + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e "DELETE FROM db WHERE Db LIKE 'test%'" >> ${logdir}/main.log 2>&1 if [[ $? -eq 0 ]]; then echo_ok else @@ -5011,9 +5185,9 @@ if ! $UPDATE_MYSQL ; then echo "" >> ${logdir}/main.log echo "## - Setze root Passwort für den MariaDB Zugang" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e \"UPDATE user SET Password = password('$MYSQL_ROOT_PW') WHERE User = 'root'\"" >> ${logdir}/main.log + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e \"UPDATE user SET Password = password('$MYSQL_ROOT_PW') WHERE User = 'root'\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e "UPDATE user SET Password = password('$MYSQL_ROOT_PW') WHERE User = 'root'" \ + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e "UPDATE user SET Password = password('$MYSQL_ROOT_PW') WHERE User = 'root'" \ >> ${logdir}/main.log 2>&1 if [ "$?" = "0" ]; then echo_ok @@ -5037,8 +5211,8 @@ if ! $UPDATE_MYSQL ; then echo "" >> ${logdir}/main.log echo "## - Neu Einlesen der Berechtigung (MySQL Server)" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e \"FLUSH PRIVILEGES\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e "FLUSH PRIVILEGES" >> ${logdir}/main.log 2>&1 + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e \"FLUSH PRIVILEGES\"" >> ${logdir}/main.log + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e "FLUSH PRIVILEGES" >> ${logdir}/main.log 2>&1 if [ "$?" = "0" ]; then echo_ok else @@ -5063,9 +5237,9 @@ if ! $UPDATE_MYSQL ; then echo "" >> ${logdir}/main.log echo "## - Setze root Passwort für den MySQL Zugang" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e \"UPDATE user SET authentication_string = password('$MYSQL_ROOT_PW') WHERE User = 'root'\"" >> ${logdir}/main.log + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e \"UPDATE user SET authentication_string = password('$MYSQL_ROOT_PW') WHERE User = 'root'\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e "UPDATE user SET authentication_string = password('$MYSQL_ROOT_PW') WHERE User = 'root'" \ + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e "UPDATE user SET authentication_string = password('$MYSQL_ROOT_PW') WHERE User = 'root'" \ >> ${logdir}/main.log 2>&1 if [ "$?" = "0" ]; then echo_ok @@ -5089,8 +5263,8 @@ if ! $UPDATE_MYSQL ; then echo "" >> ${logdir}/main.log echo "## - Neu Einlesen der Berechtigung (MySQL Server)" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e \"FLUSH PRIVILEGES\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e "FLUSH PRIVILEGES" >> ${logdir}/main.log 2>&1 + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e \"FLUSH PRIVILEGES\"" >> ${logdir}/main.log + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e "FLUSH PRIVILEGES" >> ${logdir}/main.log 2>&1 if [ "$?" = "0" ]; then echo_ok else @@ -5114,8 +5288,8 @@ if ! $UPDATE_MYSQL ; then echo "" >> ${logdir}/main.log echo "## - Neu Einlesen der Berechtigung (MySQL Server)" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e \"FLUSH PRIVILEGES\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e "FLUSH PRIVILEGES" >> ${logdir}/main.log 2>&1 + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e \"FLUSH PRIVILEGES\"" >> ${logdir}/main.log + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e "FLUSH PRIVILEGES" >> ${logdir}/main.log 2>&1 if [ "$?" = "0" ]; then echo_ok else @@ -5136,9 +5310,9 @@ if ! $UPDATE_MYSQL ; then echo "" >> ${logdir}/main.log echo "## - Setze root Passwort für den MySQL Zugang" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e \"ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$MYSQL_ROOT_PW'\"" >> ${logdir}/main.log + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e \"ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$MYSQL_ROOT_PW'\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$MYSQL_ROOT_PW'" \ + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot mysql -N -s -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$MYSQL_ROOT_PW'" \ >> ${logdir}/main.log 2>&1 if [ "$?" = "0" ]; then echo_ok @@ -5281,60 +5455,14 @@ if ! $UPDATE_MYSQL || $_sys_maint_cnf_needed ; then _maint_user=sys-maint - if [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]]; then + if [[ "$MYSQL_MAJOR_VERSION" -lt 8 ]] || [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]]; then echononl "Erstelle maintance MySQL User '${_maint_user}' - localhost.." echo "" >> ${logdir}/main.log echo "## - Erstelle maintance MySQL User '${_maint_user}' - localhost" >> ${logdir}/main.log echo "" >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e \"CREATE USER '${_maint_user}'@'localhost' IDENTIFIED BY '$_maint_passwd'\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e "CREATE USER '${_maint_user}'@'localhost' IDENTIFIED BY '$_maint_passwd'" >> ${logdir}/main.log 2>&1 - if [ "$?" = "0" ]; then - echo_ok - else - echo_failed - error Konnte \(MySQL\) User \"${_maint_user}\" nicht erstellen.. - - echononl "continue anyway [yes/no]: " - read OK - OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" - while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do - echononl "Wrong entry! - repeat [yes/nno]: " - read OK - done - [[ $OK = "yes" ]] || fatal "Abbruch durch User" - fi - - echononl "Set (all) privileges to MySQL User '${_maint_user}' - localhost.." - echo "" >> ${logdir}/main.log - echo "## - Set (all) privileges to MySQL User '${_maint_user}' - localhost" >> ${logdir}/main.log - echo "" >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e \"GRANT ALL ON *.* TO '${_maint_user}'@'localhost'\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e "GRANT ALL ON *.* TO '${_maint_user}'@'localhost'" >> ${logdir}/main.log 2>&1 - if [ "$?" = "0" ]; then - echo_ok - else - echo_failed - error Konnte \(MySQL\) User \"${_maint_user}\" nicht erstellen.. - - echononl "continue anyway [yes/no]: " - read OK - OK="$(echo "$OK" | tr '[:upper:]' '[:lower:]')" - while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do - echononl "Wrong entry! - repeat [yes/nno]: " - read OK - done - [[ $OK = "yes" ]] || fatal "Abbruch durch User" - fi - - elif [[ "$MYSQL_MAJOR_VERSION" -lt 8 ]]; then - - echononl "Erstelle maintance MySQL User '${_maint_user}' - localhost.." - echo "" >> ${logdir}/main.log - echo "## - Erstelle maintance MySQL User '${_maint_user}' - localhost" >> ${logdir}/main.log - echo "" >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e \"GRANT ALL ON *.* TO '${_maint_user}'@'localhost' IDENTIFIED BY '$_maint_passwd'\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e "GRANT ALL ON *.* TO '${_maint_user}'@'localhost' IDENTIFIED BY '$_maint_passwd'" >> ${logdir}/main.log 2>&1 + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot -p$MYSQL_ROOT_PW mysql -N -s -e \"GRANT ALL ON *.* TO '${_maint_user}'@'localhost' IDENTIFIED BY '$_maint_passwd'\"" >> ${logdir}/main.log + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot -p$MYSQL_ROOT_PW mysql -N -s -e "GRANT ALL ON *.* TO '${_maint_user}'@'localhost' IDENTIFIED BY '$_maint_passwd'" >> ${logdir}/main.log 2>&1 if [ "$?" = "0" ]; then echo_ok else @@ -5357,8 +5485,8 @@ if ! $UPDATE_MYSQL || $_sys_maint_cnf_needed ; then echo "" >> ${logdir}/main.log echo "## - Erstelle maintance MySQL User '${_maint_user}' - localhost" >> ${logdir}/main.log echo "" >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e \"CREATE USER '${_maint_user}'@'localhost' IDENTIFIED WITH mysql_native_password BY '$_maint_passwd'\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e "CREATE USER '${_maint_user}'@'localhost' IDENTIFIED WITH mysql_native_password BY '$_maint_passwd'" >> ${logdir}/main.log 2>&1 + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot -p$MYSQL_ROOT_PW mysql -N -s -e \"CREATE USER '${_maint_user}'@'localhost' IDENTIFIED WITH mysql_native_password BY '$_maint_passwd'\"" >> ${logdir}/main.log + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot -p$MYSQL_ROOT_PW mysql -N -s -e "CREATE USER '${_maint_user}'@'localhost' IDENTIFIED WITH mysql_native_password BY '$_maint_passwd'" >> ${logdir}/main.log 2>&1 if [ "$?" = "0" ]; then echo_ok else @@ -5379,8 +5507,8 @@ if ! $UPDATE_MYSQL || $_sys_maint_cnf_needed ; then echo "" >> ${logdir}/main.log echo "## - Set (all) privileges to MySQL User '${_maint_user}' - localhost" >> ${logdir}/main.log echo "" >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e \"GRANT ALL ON *.* TO '${_maint_user}'@'localhost'\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e "GRANT ALL ON *.* TO '${_maint_user}'@'localhost'" >> ${logdir}/main.log 2>&1 + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot -p$MYSQL_ROOT_PW mysql -N -s -e \"GRANT ALL ON *.* TO '${_maint_user}'@'localhost'\"" >> ${logdir}/main.log + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot -p$MYSQL_ROOT_PW mysql -N -s -e "GRANT ALL ON *.* TO '${_maint_user}'@'localhost'" >> ${logdir}/main.log 2>&1 if [ "$?" = "0" ]; then echo_ok else @@ -5397,14 +5525,14 @@ if ! $UPDATE_MYSQL || $_sys_maint_cnf_needed ; then [[ $OK = "yes" ]] || fatal "Abbruch durch User" fi - fi # if [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]] + fi # if [[ "$MYSQL_MAJOR_VERSION" -lt 8 ]] echononl "Give 'Grant' permission to MySQL User '${_maint_user}'.." echo "" >> ${logdir}/main.log echo "## - Give 'Grant' permission to MySQL User '${_maint_user}'" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e \"UPDATE user SET Grant_priv = 'y' WHERE user = '${_maint_user}';\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e "UPDATE user SET Grant_priv = 'y' WHERE user = '${_maint_user}';" >> ${logdir}/main.log 2>&1 + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot -p$MYSQL_ROOT_PW mysql -N -s -e \"UPDATE user SET Grant_priv = 'y' WHERE user = '${_maint_user}';\"" >> ${logdir}/main.log + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot -p$MYSQL_ROOT_PW mysql -N -s -e "UPDATE user SET Grant_priv = 'y' WHERE user = '${_maint_user}';" >> ${logdir}/main.log 2>&1 if [ "$?" = "0" ]; then echo_ok else @@ -5425,8 +5553,8 @@ if ! $UPDATE_MYSQL || $_sys_maint_cnf_needed ; then echo "" >> ${logdir}/main.log echo "## - Neu Einlesen der Berechtigung (MySQL Server)" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log - echo "${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e \"FLUSH PRIVILEGES\"" >> ${logdir}/main.log - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot -p$MYSQL_ROOT_PW mysql -N -s -e "FLUSH PRIVILEGES" >> ${logdir}/main.log 2>&1 + echo "${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot -p$MYSQL_ROOT_PW mysql -N -s -e \"FLUSH PRIVILEGES\"" >> ${logdir}/main.log + ${MYSQL_INSTALL_DIR}/bin/mysql -S $MYSQL_UNIX_SOCKET -uroot -p$MYSQL_ROOT_PW mysql -N -s -e "FLUSH PRIVILEGES" >> ${logdir}/main.log 2>&1 if [ "$?" = "0" ]; then echo_ok else @@ -5484,12 +5612,17 @@ EOF fi +if $PARALLEL_INSTALLATION ; then + _logrotate_file=/etc/logrotate.d/${MYSQL_DISTRIBUTION,,}-$MYSQL_VERSION +else + _logrotate_file=/etc/logrotate.d/mysql +fi sys_maint_file="$(dirname $MYSQL_INSTALL_DIR)/mysql/sys-maint.cnf" -echononl "Erstelle Logrotate Definitionsdatei '/etc/logrotate.d/mysql'.." +echononl "Erstelle Logrotate Definitionsdatei '$_logrotate_file'.." echo "" >> ${logdir}/main.log -echo "## - Erstelle Logrotate Definitionsdatei /etc/logrotate.d/mysql" >> ${logdir}/main.log +echo "## - Erstelle Logrotate Definitionsdatei $_logrotate_file" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log -echo "cat << EOF > /etc/logrotate.d/mysql +echo "cat << EOF > $_logrotate_file $_mysql_log $_mysql_error_log $_mysql_slow_query_log @@ -5512,7 +5645,7 @@ $_mysql_slow_query_log } EOF" >> ${logdir}/main.log -cat << EOF > /etc/logrotate.d/mysql +cat << EOF > $_logrotate_file $_mysql_log $_mysql_error_log $_mysql_slow_query_log