mirror of
https://github.com/myvesta/vesta
synced 2025-07-06 04:51:54 -07:00
mysql8 create user, set password, grant
This commit is contained in:
parent
d30c9f584e
commit
e91976613c
2 changed files with 113 additions and 30 deletions
121
func/db.sh
121
func/db.sh
|
@ -202,21 +202,57 @@ decrease_dbhost_values() {
|
|||
add_mysql_database() {
|
||||
mysql_connect $host
|
||||
|
||||
mysql_ver_sub=$(echo $mysql_ver |cut -d '.' -f1)
|
||||
mysql_ver_sub_sub=$(echo $mysql_ver |cut -d '.' -f2)
|
||||
|
||||
query="CREATE DATABASE \`$database\` CHARACTER SET $charset"
|
||||
mysql_query "$query" > /dev/null
|
||||
|
||||
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@\`%\`
|
||||
IDENTIFIED BY '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
if [ "$mysql_fork" = "mysql" ] && [ "$mysql_ver_sub" -ge 8 ] ; then
|
||||
query="CREATE USER \`$dbuser\`@\`%\`
|
||||
IDENTIFIED BY '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
|
||||
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@localhost
|
||||
IDENTIFIED BY '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
query="CREATE USER \`$dbuser\`@localhost
|
||||
IDENTIFIED BY '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
|
||||
if [ "$(echo $mysql_ver |cut -d '.' -f2)" -ge 7 ]; then
|
||||
md5=$(mysql_query "SHOW CREATE USER \`$dbuser\`" 2>/dev/null)
|
||||
md5=$(echo "$md5" |grep password |cut -f8 -d \')
|
||||
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@\`%\`"
|
||||
mysql_query "$query" > /dev/null
|
||||
|
||||
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@localhost"
|
||||
mysql_query "$query" > /dev/null
|
||||
else
|
||||
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@\`%\`
|
||||
IDENTIFIED BY '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
|
||||
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@localhost
|
||||
IDENTIFIED BY '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
fi
|
||||
|
||||
if [ "$mysql_fork" = "mysql" ]; then
|
||||
# mysql
|
||||
if [ "$mysql_ver_sub" -ge 8 ] || { [ "$mysql_ver_sub" -eq 5 ] && [ "$mysql_ver_sub_sub" -ge 7 ]; } then
|
||||
if [ "$mysql_ver_sub" -ge 8 ]; then
|
||||
# mysql >= 8
|
||||
md5=$(mysql_query "SHOW CREATE USER \`$dbuser\`" 2>/dev/null)
|
||||
# echo $md5
|
||||
md5=$(echo "$md5" |grep password |cut -f4 -d \')
|
||||
# echo $md5
|
||||
else
|
||||
# mysql < 8
|
||||
md5=$(mysql_query "SHOW CREATE USER \`$dbuser\`" 2>/dev/null)
|
||||
md5=$(echo "$md5" |grep password |cut -f8 -d \')
|
||||
fi
|
||||
else
|
||||
# mysql < 5.7
|
||||
md5=$(mysql_query "SHOW GRANTS FOR \`$dbuser\`" 2>/dev/null)
|
||||
md5=$(echo "$md5" |grep PASSW|tr ' ' '\n' |tail -n1 |cut -f 2 -d \')
|
||||
fi
|
||||
else
|
||||
# mariadb
|
||||
md5=$(mysql_query "SHOW GRANTS FOR \`$dbuser\`" 2>/dev/null)
|
||||
md5=$(echo "$md5" |grep PASSW|tr ' ' '\n' |tail -n1 |cut -f 2 -d \')
|
||||
fi
|
||||
|
@ -267,22 +303,63 @@ get_database_values() {
|
|||
# Change MySQL database password
|
||||
change_mysql_password() {
|
||||
mysql_connect $HOST
|
||||
query="GRANT ALL ON \`$database\`.* TO \`$DBUSER\`@\`%\`
|
||||
IDENTIFIED BY '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
|
||||
query="GRANT ALL ON \`$database\`.* TO \`$DBUSER\`@localhost
|
||||
IDENTIFIED BY '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
mysql_ver_sub=$(echo $mysql_ver |cut -d '.' -f1)
|
||||
mysql_ver_sub_sub=$(echo $mysql_ver |cut -d '.' -f2)
|
||||
|
||||
if [ "$(echo $mysql_ver |cut -d '.' -f2)" -ge 7 ]; then
|
||||
if [ "$mysql_fork" = "mysql" ]; then
|
||||
# mysql
|
||||
if [ "$mysql_ver_sub" -ge 8 ]; then
|
||||
# mysql >= 8
|
||||
query="SET PASSWORD FOR \`$DBUSER\`@\`%\` = '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
query="SET PASSWORD FOR \`$DBUSER\`@localhost = '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
else
|
||||
# mysql < 8
|
||||
query="GRANT ALL ON \`$database\`.* TO \`$DBUSER\`@\`%\`
|
||||
IDENTIFIED BY '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
|
||||
md5=$(mysql_query "SHOW CREATE USER \`$DBUSER\`" 2>/dev/null)
|
||||
md5=$(echo "$md5" |grep password |cut -f8 -d \')
|
||||
else
|
||||
md5=$(mysql_query "SHOW GRANTS FOR \`$DBUSER\`" 2>/dev/null)
|
||||
md5=$(echo "$md5" |grep PASSW|tr ' ' '\n' |tail -n1 |cut -f 2 -d \')
|
||||
fi
|
||||
query="GRANT ALL ON \`$database\`.* TO \`$DBUSER\`@localhost
|
||||
IDENTIFIED BY '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
fi
|
||||
else
|
||||
# mariadb
|
||||
query="GRANT ALL ON \`$database\`.* TO \`$DBUSER\`@\`%\`
|
||||
IDENTIFIED BY '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
|
||||
query="GRANT ALL ON \`$database\`.* TO \`$DBUSER\`@localhost
|
||||
IDENTIFIED BY '$dbpass'"
|
||||
mysql_query "$query" > /dev/null
|
||||
fi
|
||||
|
||||
if [ "$mysql_fork" = "mysql" ]; then
|
||||
# mysql
|
||||
if [ "$mysql_ver_sub" -ge 8 ] || { [ "$mysql_ver_sub" -eq 5 ] && [ "$mysql_ver_sub_sub" -ge 7 ]; } then
|
||||
if [ "$mysql_ver_sub" -ge 8 ]; then
|
||||
# mysql >= 8
|
||||
md5=$(mysql_query "SHOW CREATE USER \`$DBUSER\`" 2>/dev/null)
|
||||
# echo $md5
|
||||
md5=$(echo "$md5" |grep password |cut -f4 -d \')
|
||||
# echo $md5
|
||||
else
|
||||
# mysql < 8
|
||||
md5=$(mysql_query "SHOW CREATE USER \`$DBUSER\`" 2>/dev/null)
|
||||
md5=$(echo "$md5" |grep password |cut -f8 -d \')
|
||||
fi
|
||||
else
|
||||
# mysql < 5.7
|
||||
md5=$(mysql_query "SHOW GRANTS FOR \`$DBUSER\`" 2>/dev/null)
|
||||
md5=$(echo "$md5" |grep PASSW|tr ' ' '\n' |tail -n1 |cut -f 2 -d \')
|
||||
fi
|
||||
else
|
||||
# mariadb
|
||||
md5=$(mysql_query "SHOW GRANTS FOR \`$DBUSER\`" 2>/dev/null)
|
||||
md5=$(echo "$md5" |grep PASSW|tr ' ' '\n' |tail -n1 |cut -f 2 -d \')
|
||||
fi
|
||||
}
|
||||
|
||||
# Change PostgreSQL database password
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue