mysql8 create user, set password, grant

This commit is contained in:
myvesta 2022-01-23 15:41:28 +01:00
commit e91976613c
2 changed files with 113 additions and 30 deletions

View file

@ -556,12 +556,15 @@ rebuild_mysql_database() {
mysql_query "CREATE DATABASE \`$DB\` CHARACTER SET $CHARSET" >/dev/null
if [ "$mysql_fork" = "mysql" ]; then
# mysql
if [ "$(echo $mysql_ver |cut -d '.' -f2)" -ge 7 ]; then
mysql_ver_sub=$(echo $mysql_ver |cut -d '.' -f1)
mysql_ver_sub_sub=$(echo $mysql_ver |cut -d '.' -f2)
if [ "$mysql_ver_sub" -ge 8 ] || { [ "$mysql_ver_sub" -eq 5 ] && [ "$mysql_ver_sub_sub" -ge 7 ]; } then
# mysql >= 5.7
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 authentication_string='$MD5'"
query="$query WHERE User='$DBUSER'"
# if [ "$mysql_ver_sub" -eq 5 ] && [ "$mysql_ver_sub_sub" -ge 7 ]; then
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 authentication_string='$MD5'"
query="$query WHERE User='$DBUSER'"
else
# mysql < 5.7
query="UPDATE mysql.user SET Password='$MD5' WHERE User='$DBUSER'"
@ -579,10 +582,13 @@ rebuild_mysql_database() {
# 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
# mariadb >= 10.4
query="SET PASSWORD FOR '$DBUSER'@'%' = '$MD5';"
query2="SET PASSWORD FOR '$DBUSER'@'localhost' = '$MD5';"
else
# mariadb < 10.4
query="UPDATE mysql.user SET Password='$MD5' WHERE User='$DBUSER'"
fi
fi
fi