install_mysql.sh: Add support for MySQL version 8.0.x.

This commit is contained in:
2018-08-03 19:53:28 +00:00
parent 01fea45c48
commit eab7f57a19

View File

@ -18,6 +18,9 @@ _DISTRIBUTION=Debian
_VSERVER_GUEST=nein
_required_debian_packages="default-jdk
libncurses5-dev
libssl-dev
lsb-release
gnutls-dev
libaio-dev
libarchive-dev
@ -2488,7 +2491,7 @@ if $UPDATE_MYSQL ; then
else
if [[ "$MYSQL_MAJOR_VERSION" -gt 5 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 5 ]] && [[ "$MYSQL_MINOR_VERSION" -ge 7 ]] ) ; then
proof_var="thread_concurrency"
proof_var="thread[_-]concurrency"
echononl "Deaktiviere '${proof_var} .."
if grep -q -E "^\s*${proof_var}.*" "$MY_CNF_FILE" 2> /dev/null ; then
echo "" >> ${logdir}/main.log
@ -2506,7 +2509,7 @@ if $UPDATE_MYSQL ; then
echo_skipped
fi
proof_var="innodb_additional_mem_pool_size"
proof_var="innodb[_-]additional[_-]mem[_-]pool[_-]size"
echononl "Deaktiviere '${proof_var} .."
if grep -q -E "^\s*${proof_var}.*" "$MY_CNF_FILE" 2> /dev/null ; then
echo "" >> ${logdir}/main.log
@ -2525,6 +2528,105 @@ if $UPDATE_MYSQL ; then
fi
fi # if [[ "$MYSQL_MAJOR_VERSION" -lt 5 ]] || ...
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \
&& [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then
proof_var="sql[_-]mode"
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}.*)/## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available\n## -\n## - For now, we will use the default value, it seems to be ok.\n## -\n#\1\2/\" \"$MY_CNF_FILE\"" >> ${logdir}/main.log
perl -i -n -p -e "s/^(\s*)(${proof_var}.*)/## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available\n## -\n## - For now, we will use the default value, it seems to be ok.\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="query[_-]cache[_-]limit"
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}.*)/## - Removed since Version 8.0.3\n## -\n#\1\2/\" \"$MY_CNF_FILE\"" >> ${logdir}/main.log
perl -i -n -p -e "s/^(\s*)(${proof_var}.*)/## - Removed since Version 8.0.3\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="query[_-]cache[_-]type"
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}.*)/## - Removed since Version 8.0.3\n## -\n#\1\2/\" \"$MY_CNF_FILE\"" >> ${logdir}/main.log
perl -i -n -p -e "s/^(\s*)(${proof_var}.*)/## - Removed since Version 8.0.3\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="query[_-]cache[_-]min[_-]res[_-]unit"
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}.*)/## - Removed since Version 8.0.3\n## -\n#\1\2/\" \"$MY_CNF_FILE\"" >> ${logdir}/main.log
perl -i -n -p -e "s/^(\s*)(${proof_var}.*)/## - Removed since Version 8.0.3\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="query[_-]cache[_-]size"
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.3\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.3\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
fi
@ -2582,13 +2684,34 @@ innodb-open-files = $(ulimit -Hn)
port = $MYSQL_PORT
socket = $MYSQL_UNIX_SOCKET
" >> ${logdir}/main.log
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \
&& [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then
echo "
## - sql_mode
## -
## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available
## -
## - For now, we will use the default value, it seems to be ok.
## -
#sql-mode = \"ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"
" >> ${logdir}/main.log
else
echo "
## - sql_mode
## -
## - To be compartible with older programming on mysql 5.6
## -
sql-mode = \"ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"
" >> ${logdir}/main.log
fi
echo "
## - secure_file_priv
## -
@ -3155,8 +3278,23 @@ log-error = $_mysql_error_log
## - SELECT SQL_NO_CACHE beginnen.
## - 2 : speichert nur diejenigen Anweisungen im Cache,
## - die mit SELECT SQL_CACHE beginnen.
query-cache-type = 1
" >> ${logdir}/main.log
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|| ( [[ "$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
else
echo "query-cache-type = 1" >> ${logdir}/main.log
fi
echo "
## - query_cache_limit
## -
@ -3165,8 +3303,23 @@ query-cache-type = 1
## -
## - Vorgeabewert ist 1Mbyte
## -
query-cache-limit = 4M
" >> ${logdir}/main.log
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|| ( [[ "$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
else
echo "query-cache-limit = 4M" >> ${logdir}/main.log
fi
echo "
## - query_cache_min_res_unit
## -
@ -3184,8 +3337,23 @@ query-cache-limit = 4M
## -
## - Vorgabewert ist 4Kbyte
## -
query-cache-min-res-unit = 8K
" >> ${logdir}/main.log
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|| ( [[ "$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-min-res-unit = 8K" >> ${logdir}/main.log
else
echo "query-cache-min-res-unit = 8K" >> ${logdir}/main.log
fi
echo "
## - query_cache_size
## -
@ -3198,8 +3366,25 @@ query-cache-min-res-unit = 8K
## -
## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert.
## -
" >> ${logdir}/main.log
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|| ( [[ "$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-size = 32M
query-cache-size = 128M
#query-cache-size = 128M" >> ${logdir}/main.log
else
echo "#query-cache-size = 32M
#query-cache-size = 128M" >> ${logdir}/main.log
fi
echo "
## - query cache
## -------------
@ -3352,7 +3537,26 @@ write-buffer = 2M
[mysqlhotcopy]
interactive-timeout
" >> ${logdir}/main.log
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \
&& [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then
echo "
## - sql_mode
## -
## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available
## -
## - For now, we will use the default value, it seems to be ok.
## -
#sql-mode = \"ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\"
EOF" >> ${logdir}/main.log
else
echo "
## - sql_mode
## -
## - To be compartible with older programming on mysql 5.6
@ -3360,6 +3564,7 @@ interactive-timeout
sql-mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
EOF" >> ${logdir}/main.log
fi
cat << EOF > ${MYSQL_INSTALL_DIR}/etc/my.cnf
# Example MySQL config file for very large systems.
@ -3399,13 +3604,34 @@ innodb-open-files = $(ulimit -Hn)
port = $MYSQL_PORT
socket = $MYSQL_UNIX_SOCKET
EOF
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \
&& [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
## - sql_mode
## -
## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available
## -
## - For now, we will use the default value, it seems to be ok.
## -
#sql-mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
EOF
else
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
## - sql_mode
## -
## - To be compartible with older programming on mysql 5.6
## -
sql-mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
EOF
fi
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
## - secure-file-priv
## -
@ -3972,7 +4198,25 @@ log-error = $_mysql_error_log
## - SELECT SQL_NO_CACHE beginnen.
## - 2 : speichert nur diejenigen Anweisungen im Cache,
## - die mit SELECT SQL_CACHE beginnen.
EOF
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \
&& [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
## -
## - Removed since MySQL Version 8.0.3
## -
#query_cache_type = 1
EOF
else
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
query_cache_type = 1
EOF
fi
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
## - query_cache_limit
@ -3982,7 +4226,25 @@ query_cache_type = 1
## -
## - Vorgeabewert ist 1Mbyte
## -
EOF
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \
&& [[ $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
EOF
else
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
query-cache-limit = 4M
EOF
fi
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
## - query_cache_min_res_unit
@ -4001,7 +4263,25 @@ query-cache-limit = 4M
## -
## - Vorgabewert ist 4Kbyte
## -
EOF
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \
&& [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
## -
## - Removed since MySQL Version 8.0.3
## -
#query-cache-min-res-unit = 8K
EOF
else
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
query-cache-min-res-unit = 8K
EOF
fi
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
## - query_cache_size
@ -4015,8 +4295,26 @@ query-cache-min-res-unit = 8K
## -
## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert.
## -
EOF
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \
&& [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
## -
## - Removed since MySQL Version 8.0.3
## -
#query_cache_size = 32M
#query-cache-size = 128M
EOF
else
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
query-cache-size = 128M
EOF
fi
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
## - query cache
## -------------
@ -4170,6 +4468,24 @@ write-buffer = 2M
interactive-timeout
EOF
if [[ "$MYSQL_MAJOR_VERSION" -gt 8 ]] \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -gt 0 ]] ) \
|| ( [[ "$MYSQL_MAJOR_VERSION" -eq 8 ]] && [[ "$MYSQL_MINOR_VERSION" -eq 0 ]] \
&& [[ $MYSQL_PATCH_LEVEL -ge 3 ]] ); then
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
## - sql_mode
## -
## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available
## -
## - For now, we will use the default value, it seems to be ok.
## -
#sql-mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
EOF
else
cat << EOF >> ${MYSQL_INSTALL_DIR}/etc/my.cnf
## - sql_mode
## -
## - To be compartible with older programming on mysql 5.6
@ -4177,6 +4493,8 @@ interactive-timeout
sql-mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
EOF
fi
if [ "$?" = "0" ]; then
echo_ok
else
@ -4614,9 +4932,10 @@ if ! $UPDATE_MYSQL ; then
## - Set root password
## -
echononl "Setze root Passwort für den MySQL Zugang"
if [[ "$MYSQL_DISTRIBUTION" = "MariaDB" ]]; then
echononl "Setze root Passwort für den MySQL Zugang"
echo "" >> ${logdir}/main.log
echo "## - Setze root Passwort für den MariaDB Zugang" >> ${logdir}/main.log
echo "## -" >> ${logdir}/main.log
@ -4640,20 +4959,19 @@ if ! $UPDATE_MYSQL ; then
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
fi
else
## - Flush privileges
## -
echononl "Neu Einlesen der Berechtigung (MySQL Server).."
echo "" >> ${logdir}/main.log
echo "## - Setze root Passwort für den MySQL Zugang" >> ${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 \"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'" \
>> ${logdir}/main.log 2>&1
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
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
error Konnte root Passwort für den MySQL Server nicht setzen..
error Das Laden/Erneuern der Berechtigungen für die MySQL Datenbank ist fehlgeschlagen..
echononl "continue anyway [yes/no]: "
read OK
@ -4665,32 +4983,111 @@ if ! $UPDATE_MYSQL ; then
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
fi
fi
## - Flush privileges
## -
echononl "Neu Einlesen der Berechtigung (MySQL Server).."
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
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
error Das Laden/Erneuern der Berechtigungen für die MySQL Datenbank ist fehlgeschlagen..
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 [[ "$MYSQL_MAJOR_VERSION" -lt 8 ]]; then
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') 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'" \
>> ${logdir}/main.log 2>&1
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
error Konnte root Passwort für den MySQL Server nicht setzen..
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
## - Flush privileges
## -
echononl "Neu Einlesen der Berechtigung (MySQL Server).."
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
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
error Das Laden/Erneuern der Berechtigungen für die MySQL Datenbank ist fehlgeschlagen..
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
## - Flush privileges
## -
echononl "Neu Einlesen der Berechtigung (MySQL Server).."
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
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
error Das Laden/Erneuern der Berechtigungen für die MySQL Datenbank ist fehlgeschlagen..
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 "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 \"ALTER USER 'root'@'localhost' IDENTIFIED BY '$MYSQL_ROOT_PW'\"" >> ${logdir}/main.log
${MYSQL_INSTALL_DIR}/bin/mysql -uroot mysql -N -s -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$MYSQL_ROOT_PW'" \
>> ${logdir}/main.log 2>&1
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
error Konnte root Passwort für den MySQL Server nicht setzen..
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 # if [[ "$MYSQL_MAJOR_VERSION" -lt 8 ]]
fi
else
## - Run mysql_upgrade
@ -4811,27 +5208,78 @@ if ! $UPDATE_MYSQL || $_sys_maint_cnf_needed ; then
fi
_maint_user=sys-maint
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
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]: "
if [[ "$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
if [ "$?" = "0" ]; then
echo_ok
else
echo_failed
error Konnte \(MySQL\) User \"${_maint_user}\" nicht erstellen..
echononl "continue anyway [yes/no]: "
read OK
done
[[ $OK = "yes" ]] || fatal "Abbruch durch User"
fi
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
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
fi # if [[ "$MYSQL_MAJOR_VERSION" -lt 8 ]]
echononl "Give 'Grant' permission to MySQL User '${_maint_user}'.."
echo "" >> ${logdir}/main.log