From 3785baa94aa53b3ee717779c9989a626da52d48c Mon Sep 17 00:00:00 2001 From: Christoph Date: Fri, 2 Aug 2024 18:16:36 +0200 Subject: [PATCH] install_postfixadmin.sh: some changes in determinatiom MySQL installed Version. --- install_postfixadmin.sh | 96 +++++++++++++++++++++-------------------- 1 file changed, 50 insertions(+), 46 deletions(-) diff --git a/install_postfixadmin.sh b/install_postfixadmin.sh index 7b34a59..e3337f2 100755 --- a/install_postfixadmin.sh +++ b/install_postfixadmin.sh @@ -147,7 +147,7 @@ detect_mysql_version () { MYSQL_CUR_DISTRIBUTION= echo "" - echo " Select the MySQL distribution to install." + echo " Select the installed MySQL distribution." echo "" echo " [1] MySQL (the original community edition)" echo " [2] Percona Server for MySQL" @@ -396,61 +396,65 @@ fi [[ -n "$MYSQL_DEBIAN_INSTALLATION" ]] || MYSQL_DEBIAN_INSTALLATION=false -if [[ "$POSTFIX_DB_TYPE" = "mysql" ]]; then +if [[ "$POSTFIX_DB_TYPE" = "mysql" ]] ; then - detect_mysql_version + if [[ -z ${MYSQL_CREDENTIALS} ]] ; then + + detect_mysql_version + + if [[ "$MYSQL_CUR_DISTRIBUTION" = "MariaDB" ]] && ([[ $MYSQL_MAJOR_VERSION -gt 10 ]] \ + || ( [[ $MYSQL_MAJOR_VERSION -eq 10 ]] && [[ $MYSQL_MINOR_VERSION -gt 3 ]] )) ; then + if [[ -S "/tmp/mysql.sock" ]]; then + MYSQL_CREDENTIALS="-u root -S /tmp/mysql.sock" + elif [[ -S "/run/mysqld/mysqld.sock" ]]; then + MYSQL_CREDENTIALS="-u root -S /run/mysqld/mysqld.sock" + elif [[ -S "/var/run/mysqld/mysqld.sock" ]]; then + MYSQL_CREDENTIALS="-u root -S /var/run/mysqld/mysqld.sock" + else + fatal "Parameter 'MYSQL_CREDENTIALS' cannot be determined automated. + + Use configuration file "$conf_file" to set + parameter manually." + fi - if [[ "$MYSQL_CUR_DISTRIBUTION" = "MariaDB" ]] && ([[ $MAJOR_VERSION -gt 10 ]] \ - || ( [[ $MAJOR_VERSION -eq 10 ]] && [[ $MINOR_VERSION -gt 3 ]] )) ; then - if [[ -S "/tmp/mysql.sock" ]]; then - MYSQL_CREDENTIALS="-u root -S /tmp/mysql.sock" - elif [[ -S "/run/mysqld/mysqld.sock" ]]; then - MYSQL_CREDENTIALS="-u root -S /run/mysqld/mysqld.sock" - elif [[ -S "/var/run/mysqld/mysqld.sock" ]]; then - MYSQL_CREDENTIALS="-u root -S /var/run/mysqld/mysqld.sock" else - fatal "Parameter 'MYSQL_CREDENTIALS' cannot be determined automated. - - Use configuration file "$conf_file" to set - parameter manually." - fi - - else - - echononl " Get MySQL command.." - mysql_command="$(which mysql)" - if [[ $? -eq 0 ]]; then - echo_ok - else - - if [[ -x "/usr/local/mysql/bin/mysql" ]]; then - mysql_command="/usr/local/mysql/bin/mysql" + + echononl "\tGet MySQL command.." + mysql_command="$(which mysql)" + if [[ $? -eq 0 ]]; then echo_ok else - echo_failed - fatal "$(cat $tmp_log_file)" + + if [[ -x "/usr/local/mysql/bin/mysql" ]]; then + mysql_command="/usr/local/mysql/bin/mysql" + echo_ok + else + echo_failed + fatal "$(cat $tmp_log_file)" + fi + fi + + if $(${mysql_command} --login-path=local -e ";" > /dev/null 2>&1) ; then + MYSQL_CREDENTIALS="--login-path=local" + elif [[ -f "/usr/local/mysql/sys-maint.cnf" ]] ; then + MYSQL_CREDENTIALS="--defaults-file=/usr/local/mysql/sys-maint.cnf" + elif [[ -f "/etc/mysql/debian.cnf" ]] ; then + MYSQL_CREDENTIALS="--defaults-file=/etc/mysql/debian.cnf" + else + fatal "Parameter 'MYSQL_CREDENTIALS' cannot be determined automated. + + Use configuration file "$conf_file" to set + parameter manually." fi fi - if $(${mysql_command} --login-path=local -e ";" > /dev/null 2>&1) ; then - MYSQL_CREDENTIALS="--login-path=local" - elif [[ -f "/usr/local/mysql/sys-maint.cnf" ]] ; then - MYSQL_CREDENTIALS="--defaults-file=/usr/local/mysql/sys-maint.cnf" - elif [[ -f "/etc/mysql/debian.cnf" ]] ; then - MYSQL_CREDENTIALS="--defaults-file=/etc/mysql/debian.cnf" - else - fatal "Parameter 'MYSQL_CREDENTIALS' cannot be determined automated. + #if $MYSQL_DEBIAN_INSTALLATION ; then + # [[ -n "$MYSQL_CREDENTIALS" ]] || MYSQL_CREDENTIALS="$DEFAULT_DEBIAN_MYSQL_CREDENTIALS" + #else + # [[ -n "$MYSQL_CREDENTIALS" ]] || MYSQL_CREDENTIALS="$DEFAULT_MYSQL_CREDENTIALS" + #fi - Use configuration file "$conf_file" to set - parameter manually." - fi fi - - #if $MYSQL_DEBIAN_INSTALLATION ; then - # [[ -n "$MYSQL_CREDENTIALS" ]] || MYSQL_CREDENTIALS="$DEFAULT_DEBIAN_MYSQL_CREDENTIALS" - #else - # [[ -n "$MYSQL_CREDENTIALS" ]] || MYSQL_CREDENTIALS="$DEFAULT_MYSQL_CREDENTIALS" - #fi else [[ "$POSTFIX_DB_TYPE" = "pgsql" ]] || fatal "Unknown Database Type '$POSTFIX_DB_TYPE' (POSTFIX_DB_TYPE)" fi