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
125
func/db.sh
125
func/db.sh
|
@ -202,21 +202,57 @@ decrease_dbhost_values() {
|
||||||
add_mysql_database() {
|
add_mysql_database() {
|
||||||
mysql_connect $host
|
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"
|
query="CREATE DATABASE \`$database\` CHARACTER SET $charset"
|
||||||
mysql_query "$query" > /dev/null
|
mysql_query "$query" > /dev/null
|
||||||
|
|
||||||
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@\`%\`
|
if [ "$mysql_fork" = "mysql" ] && [ "$mysql_ver_sub" -ge 8 ] ; then
|
||||||
IDENTIFIED BY '$dbpass'"
|
query="CREATE USER \`$dbuser\`@\`%\`
|
||||||
mysql_query "$query" > /dev/null
|
IDENTIFIED BY '$dbpass'"
|
||||||
|
mysql_query "$query" > /dev/null
|
||||||
|
|
||||||
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@localhost
|
query="CREATE USER \`$dbuser\`@localhost
|
||||||
IDENTIFIED BY '$dbpass'"
|
IDENTIFIED BY '$dbpass'"
|
||||||
mysql_query "$query" > /dev/null
|
mysql_query "$query" > /dev/null
|
||||||
|
|
||||||
if [ "$(echo $mysql_ver |cut -d '.' -f2)" -ge 7 ]; then
|
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@\`%\`"
|
||||||
md5=$(mysql_query "SHOW CREATE USER \`$dbuser\`" 2>/dev/null)
|
mysql_query "$query" > /dev/null
|
||||||
md5=$(echo "$md5" |grep password |cut -f8 -d \')
|
|
||||||
|
query="GRANT ALL ON \`$database\`.* TO \`$dbuser\`@localhost"
|
||||||
|
mysql_query "$query" > /dev/null
|
||||||
else
|
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=$(mysql_query "SHOW GRANTS FOR \`$dbuser\`" 2>/dev/null)
|
||||||
md5=$(echo "$md5" |grep PASSW|tr ' ' '\n' |tail -n1 |cut -f 2 -d \')
|
md5=$(echo "$md5" |grep PASSW|tr ' ' '\n' |tail -n1 |cut -f 2 -d \')
|
||||||
fi
|
fi
|
||||||
|
@ -267,22 +303,63 @@ get_database_values() {
|
||||||
# Change MySQL database password
|
# Change MySQL database password
|
||||||
change_mysql_password() {
|
change_mysql_password() {
|
||||||
mysql_connect $HOST
|
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
|
|
||||||
|
|
||||||
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)
|
||||||
md5=$(mysql_query "SHOW CREATE USER \`$DBUSER\`" 2>/dev/null)
|
|
||||||
md5=$(echo "$md5" |grep password |cut -f8 -d \')
|
if [ "$mysql_fork" = "mysql" ]; then
|
||||||
else
|
# mysql
|
||||||
md5=$(mysql_query "SHOW GRANTS FOR \`$DBUSER\`" 2>/dev/null)
|
if [ "$mysql_ver_sub" -ge 8 ]; then
|
||||||
md5=$(echo "$md5" |grep PASSW|tr ' ' '\n' |tail -n1 |cut -f 2 -d \')
|
# mysql >= 8
|
||||||
fi
|
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
|
||||||
|
|
||||||
|
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
|
# Change PostgreSQL database password
|
||||||
|
|
|
@ -556,12 +556,15 @@ rebuild_mysql_database() {
|
||||||
mysql_query "CREATE DATABASE \`$DB\` CHARACTER SET $CHARSET" >/dev/null
|
mysql_query "CREATE DATABASE \`$DB\` CHARACTER SET $CHARSET" >/dev/null
|
||||||
if [ "$mysql_fork" = "mysql" ]; then
|
if [ "$mysql_fork" = "mysql" ]; then
|
||||||
# mysql
|
# 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 >= 5.7
|
||||||
mysql_query "CREATE USER IF NOT EXISTS \`$DBUSER\`" > /dev/null
|
# if [ "$mysql_ver_sub" -eq 5 ] && [ "$mysql_ver_sub_sub" -ge 7 ]; then
|
||||||
mysql_query "CREATE USER IF NOT EXISTS \`$DBUSER\`@localhost" > /dev/null
|
mysql_query "CREATE USER IF NOT EXISTS \`$DBUSER\`" > /dev/null
|
||||||
query="UPDATE mysql.user SET authentication_string='$MD5'"
|
mysql_query "CREATE USER IF NOT EXISTS \`$DBUSER\`@localhost" > /dev/null
|
||||||
query="$query WHERE User='$DBUSER'"
|
query="UPDATE mysql.user SET authentication_string='$MD5'"
|
||||||
|
query="$query WHERE User='$DBUSER'"
|
||||||
else
|
else
|
||||||
# mysql < 5.7
|
# mysql < 5.7
|
||||||
query="UPDATE mysql.user SET Password='$MD5' WHERE User='$DBUSER'"
|
query="UPDATE mysql.user SET Password='$MD5' WHERE User='$DBUSER'"
|
||||||
|
@ -579,10 +582,13 @@ rebuild_mysql_database() {
|
||||||
# mariadb = 10
|
# mariadb = 10
|
||||||
mysql_query "CREATE USER IF NOT EXISTS \`$DBUSER\`" > /dev/null
|
mysql_query "CREATE USER IF NOT EXISTS \`$DBUSER\`" > /dev/null
|
||||||
mysql_query "CREATE USER IF NOT EXISTS \`$DBUSER\`@localhost" > /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
|
if [ "$mysql_ver_sub_sub" -ge 4 ]; then
|
||||||
|
# mariadb >= 10.4
|
||||||
query="SET PASSWORD FOR '$DBUSER'@'%' = '$MD5';"
|
query="SET PASSWORD FOR '$DBUSER'@'%' = '$MD5';"
|
||||||
query2="SET PASSWORD FOR '$DBUSER'@'localhost' = '$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
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue