diff --git a/install_mysql.sh b/install_mysql.sh index a3d02c4..1cd5086 100755 --- a/install_mysql.sh +++ b/install_mysql.sh @@ -26,6 +26,7 @@ _required_debian_packages="libevent-dev libjudy-dev libpam0g-dev libpcre3-dev + gnutls-dev default-jdk" @@ -698,8 +699,8 @@ else echo "## - Starmethode...............: SysVinit Script" >> ${logdir}/main.log echo "## - MySQL SysyVinit Script....: $MYSQL_SYSV_INIT_SCRIPT" >> ${logdir}/main.log fi -echo "## -" -echo "## - VServer guest system......: $VSERVER_GUEST" +echo "## -" >> ${logdir}/main.log +echo "## - VServer guest system......: $VSERVER_GUEST" >> ${logdir}/main.log echo "" >> ${logdir}/main.log echo "" >> ${logdir}/main.log @@ -1044,22 +1045,22 @@ if ! $UPDATE_MYSQL ; then fi fi - if [[ -d /etc/mysql ]]; then - - echononl "Sichere/Verschiebe exitierendes Verzeichnis /etc/mysql .." - echo "" >> ${logdir}/main.log - echo "## - Sichere/Verschiebe exitierendes Verzeichnis /etc/mysql" >> ${logdir}/main.log - echo "## -" >> ${logdir}/main.log - echo "mv /etc/mysql \"/etc/mysql.${_backup_date}\"" >> ${logdir}/main.log - mv /etc/mysql "/etc/mysql.${_backup_date}" >> ${logdir}/main.log - if [[ $? -eq 0 ]]; then - echo_ok - else - echo_failed - fatal "Kann Verzeichnis '/etc/mysql' nicht sichern!" - fi - - fi # if [[ -d /etc/mysql ]]; then +# if [[ -d /etc/mysql ]]; then +# +# echononl "Sichere/Verschiebe exitierendes Verzeichnis /etc/mysql .." +# echo "" >> ${logdir}/main.log +# echo "## - Sichere/Verschiebe exitierendes Verzeichnis /etc/mysql" >> ${logdir}/main.log +# echo "## -" >> ${logdir}/main.log +# echo "mv /etc/mysql \"/etc/mysql.${_backup_date}\"" >> ${logdir}/main.log +# mv /etc/mysql "/etc/mysql.${_backup_date}" >> ${logdir}/main.log +# if [[ $? -eq 0 ]]; then +# echo_ok +# else +# echo_failed +# fatal "Kann Verzeichnis '/etc/mysql' nicht sichern!" +# fi +# +# fi # if [[ -d /etc/mysql ]]; then echononl "Update index files of the debian repositories" @@ -1341,6 +1342,7 @@ else fatal Kann LOG Verzeichnis \"${MYSQL_LOG_DIR}\" nicht erstellen.. fi + echononl "Setze Besitzer \"${MYSQL_USER}:${MYSQL_GROUP}\" für LOG Verzeichnis" echo "" >> ${logdir}/main.log echo "## - Setze Besitzer \"${MYSQL_USER}:${MYSQL_GROUP}\" für LOG Verzeichnis" >> ${logdir}/main.log @@ -1452,11 +1454,6 @@ if [ -d ${MYSQL_INSTALL_DIR} ];then fi - -#cd $MYSQL_SRC_BASE_DIR -#echo "" >> ${logdir}/main.log -#echo "cd $MYSQL_SRC_BASE_DIR" >> ${logdir}/main.log - echononl "Entpacke $distfile ..." echo "" >> ${logdir}/main.log echo "## - Entpacke $distfile" >> ${logdir}/main.log @@ -1484,6 +1481,11 @@ else fatal "Kann nicht in das Sourceverzeicnis '${MYSQL_SRC_DIR}' wechseln!" fi + + + + + # - Erstelle Optionen für 'cmake' # - # - Note: @@ -1494,6 +1496,9 @@ fi # - # - We change the default to empty ("") with -D INSTALL_SECURE_FILE_PRIVDIR="" option # - +# - To get a complete list of available options, type +# - shell> cmake . -LH | tee ~/mysql_cmake_options.txt +# - echononl "Erstelle Optionen für 'cmake'" echo "" >> ${logdir}/main.log echo "## - Erstelle Optionen für 'cmake'" >> ${logdir}/main.log @@ -1731,9 +1736,9 @@ if [ -f /etc/profile ]; then echo "" >> ${logdir}/main.log echo "## - Füge `dirname $MYSQL_INSTALL_DIR`/mysql/bin zur PATH Variable hinzu" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log - echo "perl -i -n -p -e \"s#^([ ]*export[ ]*PATH.*$)#check_dir=\$_checkdir\nif [ -d \\\"\\\\\\\$check_dir\\\" ];then\n PATH=\\\\\\\${check_dir}:\\\\\\\$PATH\nfi\n\n\1#\" /etc/profile" >> ${logdir}/main.log 2<&1 + echo "perl -i -n -p -e \"s#^([ ]*export[ ]*PATH.*$)#check_dir=\$_checkdir\nif [ -d \\\"\\\\\\\$check_dir\\\" ];then\n PATH=\\\\\\\${check_dir}:\\\\\\\$PATH\nfi\n\n\1#\" /etc/profile" >> ${logdir}/main.log 2<&1 - perl -i -n -p -e "s#^([ ]*export[ ]*PATH.*$)#check_dir=$_checkdir\nif [ -d \"\\\$check_dir\" ];then\n PATH=\\\${check_dir}:\\\$PATH\nfi\n\n\1#" /etc/profile >> ${logdir}/main.log 2<&1 + perl -i -n -p -e "s#^([ ]*export[ ]*PATH.*$)#check_dir=$_checkdir\nif [ -d \"\\\$check_dir\" ];then\n PATH=\\\${check_dir}:\\\$PATH\nfi\n\n\1#" /etc/profile >> ${logdir}/main.log 2<&1 if [ "$?" = "0" ]; then echo_ok @@ -1933,6 +1938,7 @@ else fi fi + echononl "Setze Besitzer/Gruppe für das Datenbankverzeichnis.." echo "" >> ${logdir}/main.log echo "## - Setze Besitzer/Gruppe für das Datenbankverzeichnis" >> ${logdir}/main.log @@ -1956,32 +1962,6 @@ else fi -#echononl "Sichere Konfigurationsdatei 'my.cnf'.." -#if [ -f ${MYSQL_INSTALL_DIR}/my.cnf ]; then -# echo "" >> ${logdir}/main.log -# echo "## - Sichere Konfigurationsdatei '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 -# if [ "$?" = "0" ]; then -# echo_ok -# else -# echo_failed -# error Konnte Konfigurationsdatei ${MYSQL_INSTALL_DIR}/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 -#else -# echo_skipped -#fi - _new_cnf_needed=false if $UPDATE_MYSQL ; then @@ -2033,10 +2013,10 @@ if $UPDATE_MYSQL ; then if [[ "$MYSQL_MAJOR_VERSION" -gt 5 ]] \ || ( [[ "$MYSQL_MAJOR_VERSION" -eq 5 ]] && [[ "$MYSQL_MINOR_VERSION" -ge 7 ]] ) ; then proof_var="thread_concurrency" - echononl "Deaktivire '${proof_var} .." + echononl "Deaktiviere '${proof_var} .." if grep -q -E "^\s*${proof_var}.*" "$MY_CNF_FILE" 2> /dev/null ; then echo "" >> ${logdir}/main.log - echo "## - Deaktivire '${proof_var} .." >> ${logdir}/main.log + echo "## - Deaktiviere '${proof_var} .." >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log echo "perl -i -n -p -e \"s/^(\s*)(${proof_var}.*)/#\1\2/\" \"$MY_CNF_FILE\"" >> ${logdir}/main.log perl -i -n -p -e "s/^(\s*)(${proof_var}.*)/#\1\2/" "$MY_CNF_FILE" >> ${logdir}/main.log 2>&1 @@ -2051,10 +2031,10 @@ if $UPDATE_MYSQL ; then fi proof_var="innodb_additional_mem_pool_size" - echononl "Deaktivire '${proof_var} .." + echononl "Deaktiviere '${proof_var} .." if grep -q -E "^\s*${proof_var}.*" "$MY_CNF_FILE" 2> /dev/null ; then echo "" >> ${logdir}/main.log - echo "## - Deaktivire '${proof_var} .." >> ${logdir}/main.log + echo "## - Deaktiviere '${proof_var} .." >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log echo "perl -i -n -p -e \"s/^(\s*)(${proof_var}.*)/#\1\2/\" \"$MY_CNF_FILE\"" >> ${logdir}/main.log perl -i -n -p -e "s/^(\s*)(${proof_var}.*)/#\1\2/" "$MY_CNF_FILE" >> ${logdir}/main.log 2>&1 @@ -3730,6 +3710,55 @@ EOF fi +if [[ ! -d "/etc/mysql" ]]; then + + echononl "Erstelle Verzeichnis '/etc/mysql' .." + echo "" >> ${logdir}/main.log + echo "## - Erstelle Verzeichnis '/etc/mysql' .." >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + echo "mkdir \"/etc/mysql\"" >> ${logdir}/main.log + mkdir "/etc/mysql" >> ${logdir}/main.log 2>&1 + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + error "Konnte Verzeichnis '/etc/mysql' nicht erstellen" + fi + +else + + if [[ -f "/etc/mysql/my.cnf" ]]; then + echononl "Backup Symlink/Datei '/etc/mysql/my.cnf' .." + echo "" >> ${logdir}/main.log + echo "## - Backup Symlink/Datei '/etc/mysql/my.cnf' .." >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + echo "## -" >> ${logdir}/main.log + echo "mv \"/etc/mysql/my.cnf\" \"/etc/mysql/my.cnf.${_backup_date}\"" >> ${logdir}/main.log + mv "/etc/mysql/my.cnf" "/etc/mysql/my.cnf.${_backup_date}" >> ${logdir}/main.log 2>&1 + if [ "$?" = "0" ]; then + echo_ok + else + echo_failed + error "Konnte Symlink/Datei '/etc/mysql/my.cnf' nicht sichern." + 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 +else + echo_failed + error "Konnte Symlink /etc/mysql/my.cnf --> ${MYSQL_INSTALL_DIR}/etc/my.cnf nicht erstellen." +fi + + echononl "Kopiere 'stopwords_utf8_iso8859-15.txt' -> ${MYSQL_INSTALL_DIR}.." if [ -f "${MYSQL_SRC_BASE_DIR}/stopwords_utf8_iso8859-15.txt" ];then echo "" >> ${logdir}/main.log @@ -3768,7 +3797,6 @@ else fi - if $INSTALL_SYSTEMD_SERVICE ; then echononl "Kopiere Service File nach '/etc/systemd/system'.." @@ -4052,21 +4080,69 @@ if ! $UPDATE_MYSQL ; then [[ $OK = "yes" ]] || fatal "Abbruch durch User" fi + ## - Drop database test + ## - + if [[ -d "${MYSQL_DATA_DIR}/test" ]]; then + echononl "Delete database 'test'.." + 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 + if [[ $? -eq 0 ]]; then + echo_ok + else + echo_failed + error "Deleting database 'test' failed!" + + 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 "Delete rows concerning database 'test' from table 'mysql.db'.." + 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 + if [[ $? -eq 0 ]]; then + echo_ok + else + echo_failed + error "Deleting rows concerning database 'test' from table 'mysql.db' failed!" + + 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 + ## - Set root password ## - echononl "Setze root Passwort für den MySQL Zugang" 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')\"" >> ${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 - ${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e "UPDATE user set authentication_string = password('$MYSQL_ROOT_PW')" \ + ${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 2>&1 if [ "$?" = "0" ]; then echo_ok else echo_failed - error Konnte MySQL root Zugang fü den MySQL Server nicht setzen.. + error Konnte root Passwort für den MySQL Server nicht setzen.. echononl "continue anyway [yes/no]: " read OK @@ -4330,7 +4406,7 @@ fi sys_maint_file="$(dirname $MYSQL_INSTALL_DIR)/mysql/sys-maint.cnf" -echononl "Erstelle Logrotate Definitionsdatei /etc/logrotate.d/mysql.." +echononl "Erstelle Logrotate Definitionsdatei '/etc/logrotate.d/mysql'.." echo "" >> ${logdir}/main.log echo "## - Erstelle Logrotate Definitionsdatei /etc/logrotate.d/mysql" >> ${logdir}/main.log echo "## -" >> ${logdir}/main.log @@ -4386,6 +4462,8 @@ else error Konnte Logrotate Definitionsdatei \"/etc/logrotate.d/mysql\" nicht erstellen.. fi + + echo echononl "Reenable crontab for user root .." if $_crontab_found ; then