From 4bb53ff28f22fe5f18a50da493683cfba19983c0 Mon Sep 17 00:00:00 2001 From: myvesta <38690722+myvesta@users.noreply.github.com> Date: Sun, 7 Nov 2021 14:26:16 +0100 Subject: [PATCH] Properly rebuild_mysql_database password for MariaDB > 10.4 --- func/rebuild.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/func/rebuild.sh b/func/rebuild.sh index 23f9d4d7..eeef03ee 100644 --- a/func/rebuild.sh +++ b/func/rebuild.sh @@ -568,21 +568,30 @@ rebuild_mysql_database() { fi else # mariadb - if [ "$(echo $mysql_ver |cut -d '.' -f1)" -eq 5 ]; then + mysql_ver_sub=$(echo $mysql_ver |cut -d '.' -f1) + mysql_ver_sub_sub=$(echo $mysql_ver |cut -d '.' -f2) + if [ "$mysql_ver_sub" -eq 5 ]; then # mariadb = 5 mysql_query "CREATE USER \`$DBUSER\`" > /dev/null mysql_query "CREATE USER \`$DBUSER\`@localhost" > /dev/null + query="UPDATE mysql.user SET Password='$MD5' WHERE User='$DBUSER'" else # mariadb = 10 mysql_query "CREATE USER IF NOT EXISTS \`$DBUSER\`" > /dev/null mysql_query "CREATE USER IF NOT EXISTS \`$DBUSER\`@localhost" > /dev/null + query="UPDATE mysql.user SET Password='$MD5' WHERE User='$DBUSER'" + if [ "$mysql_ver_sub_sub" -ge 4 ]; then + query="SET PASSWORD FOR '$DBUSER'@'%' = '$MD5';" + query2="SET PASSWORD FOR '$DBUSER'@'localhost' = '$MD5';" + fi fi - # mariadb any version - query="UPDATE mysql.user SET Password='$MD5' WHERE User='$DBUSER'" fi mysql_query "GRANT ALL ON \`$DB\`.* TO \`$DBUSER\`@\`%\`" >/dev/null mysql_query "GRANT ALL ON \`$DB\`.* TO \`$DBUSER\`@localhost" >/dev/null mysql_query "$query" >/dev/null + if [ ! -z "$query2" ]; then + mysql_query "$query2" >/dev/null + fi mysql_query "FLUSH PRIVILEGES" >/dev/null }