File tree Expand file tree Collapse file tree 1 file changed +19
-4
lines changed Expand file tree Collapse file tree 1 file changed +19
-4
lines changed Original file line number Diff line number Diff line change @@ -28,8 +28,8 @@ generate_password() {
28
28
# Flags
29
29
CREATED_ANY_USER=false
30
30
31
- # Function to create user if not exists
32
- create_user_if_not_exists () {
31
+ # Function to create MYSQL user
32
+ create_mysql_user () {
33
33
local USERNAME=$1
34
34
local PASSWORD=$2
35
35
local GRANTS=$3
54
54
echo " Password: $PASSWORD "
55
55
echo " "
56
56
CREATED_ANY_USER=true
57
+ else
58
+ # User exists, just update grants
59
+ mysql \
60
+ -h " $MYSQL_HOST " \
61
+ -u " $MYSQL_USER " \
62
+ -p" $MYSQL_PASSWORD " \
63
+ --ssl-ca=" $SSL_CA " << EOF
64
+ $GRANTS
65
+ FLUSH PRIVILEGES;
66
+ EOF
67
+ echo " 🔄 Updated grants for user: $USERNAME "
57
68
fi
58
69
}
59
70
60
71
# Create readonly user if not exists
61
72
READONLY_PASSWORD=$( generate_password)
62
- create_user_if_not_exists " $READONLY_USER " " $READONLY_PASSWORD " " GRANT SELECT ON \` $TARGET_DB \` .* TO '$READONLY_USER '@'%';"
73
+ create_mysql_user " $READONLY_USER " " $READONLY_PASSWORD " " GRANT SELECT ON \` $TARGET_DB \` .* TO '$READONLY_USER '@'%';"
63
74
64
75
# Create app user if not exists
65
76
APP_PASSWORD=$( generate_password)
66
- create_user_if_not_exists " $APP_USER " " $APP_PASSWORD " " GRANT ALL PRIVILEGES ON \` $TARGET_DB \` .* TO '$APP_USER '@'%';"
77
+ create_mysql_user " $APP_USER " " $APP_PASSWORD " "
78
+ GRANT ALL PRIVILEGES ON \` $TARGET_DB \` .* TO '$APP_USER '@'%';
79
+ GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO '$APP_USER '@'%';
80
+ GRANT RELOAD, SHOW DATABASES ON *.* TO '$APP_USER '@'%';
81
+ "
67
82
68
83
if [ " $CREATED_ANY_USER " = false ]; then
69
84
echo " ℹ️ No new users created. Both users already exist."
You can’t perform that action at this time.
0 commit comments