From 26fcbd2ecfee04f3b6199c1d05985c0adaa72c42 Mon Sep 17 00:00:00 2001 From: Christoph Date: Sun, 5 May 2019 04:02:11 +0200 Subject: [PATCH] install_mysql.sh: Change from 'build in-source' to 'Out-of source builds are highly'. --- install_mysql.sh | 65 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 56 insertions(+), 9 deletions(-) diff --git a/install_mysql.sh b/install_mysql.sh index 76d53a1..3a652a9 100755 --- a/install_mysql.sh +++ b/install_mysql.sh @@ -38,6 +38,7 @@ _required_debian_packages="default-jdk libreadline-gplv2-dev libsystemd-dev libaio-dev + libjemalloc-dev cpanminus" install_additional_debian_packages=true @@ -1986,17 +1987,27 @@ else fatal Kann MySQL Sourcearchiv \"${distfile}\" nicht entpacken.. fi -echononl "Wechsle in das Verzeichnis '${MYSQL_SRC_DIR}'.." -echo "" >> ${logdir}/main.log -echo "## - Wechsle in das Verzeichnis '${MYSQL_SRC_DIR}'" >> ${logdir}/main.log -echo "## -" >> ${logdir}/main.log -echo "cd ${MYSQL_SRC_DIR}" >> ${logdir}/main.log -cd ${MYSQL_SRC_DIR} >> ${logdir}/main.log 2>&1 +echononl "Erstelle Verzeichnis für 'Out-of source build'.." +mkdir "${MYSQL_SRC_DIR}/build-${_backup_date}" >> ${logdir}/main.log if [ "$?" = "0" ]; then echo_ok else echo_failed - fatal "Kann nicht in das Sourceverzeicnis '${MYSQL_SRC_DIR}' wechseln!" + fatal Kann Verzeichnis \"build-${_backup_date}\" nicht erstellen.. +fi + + +echononl "Wechsle in das Verzeichnis '${MYSQL_SRC_DIR}/build-${_backup_date}'.." +echo "" >> ${logdir}/main.log +echo "## - Wechsle in das Verzeichnis '${MYSQL_SRC_DIR}/build-${_backup_date}'" >> ${logdir}/main.log +echo "## -" >> ${logdir}/main.log +echo "cd ${MYSQL_SRC_DIR}" >> ${logdir}/main.log +cd "${MYSQL_SRC_DIR}/build-${_backup_date}" >> ${logdir}/main.log 2>&1 +if [ "$?" = "0" ]; then + echo_ok +else + echo_failed + fatal "Kann nicht in das Sourceverzeicnis '${MYSQL_SRC_DIR}/build-${_backup_date}' wechseln!" fi @@ -2055,7 +2066,7 @@ echo "## -" >> ${logdir}/main.log if [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]]; then cmake_options=" - . + .. -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=$MYSQL_INSTALL_DIR -DMYSQL_DATADIR=$MYSQL_DATA_DIR @@ -2070,7 +2081,7 @@ if [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]]; then else cmake_options=" - . + .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=$MYSQL_INSTALL_DIR @@ -2763,6 +2774,42 @@ if $UPDATE_MYSQL ; then echo_skipped fi + proof_var="innodb[_-]large[_-]prefix" + echononl "Deaktiviere '${proof_var} .." + if grep -q -E "^\s*${proof_var}.*" "$MY_CNF_FILE" 2> /dev/null ; then + echo "" >> ${logdir}/main.log + echo "## - Deaktiviere '${proof_var} .." >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + echo "perl -i -n -p -e \"s/^(\s*)(${proof_var}.*)/## -\n## - Removed since Version 8.0.0\n## -\n#\1\2/\" \"$MY_CNF_FILE\"" >> ${logdir}/main.log + perl -i -n -p -e "s/^(\s*)(${proof_var}.*)/## -\n## - Removed since Version 8.0.0\n## -\n#\1\2/" "$MY_CNF_FILE" >> ${logdir}/main.log 2>&1 + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + warn "Konnte '${proof_var}' nicht deaktivieren." + fi + else + echo_skipped + fi + + proof_var="nnodb[_-]file[_-]format" + echononl "Deaktiviere '${proof_var} .." + if grep -q -E "^\s*${proof_var}.*" "$MY_CNF_FILE" 2> /dev/null ; then + echo "" >> ${logdir}/main.log + echo "## - Deaktiviere '${proof_var} .." >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + echo "perl -i -n -p -e \"s/^(\s*)(${proof_var}.*)/## -\n## - Removed since Version 8.0.0\n## -\n#\1\2/\" \"$MY_CNF_FILE\"" >> ${logdir}/main.log + perl -i -n -p -e "s/^(\s*)(${proof_var}.*)/## -\n## - Removed since Version 8.0.0\n## -\n#\1\2/" "$MY_CNF_FILE" >> ${logdir}/main.log 2>&1 + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + warn "Konnte '${proof_var}' nicht deaktivieren." + fi + else + echo_skipped + fi + fi # if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] || .. fi