Skip to content

Commit 1c5e10b

Browse files
committed
Fix: Replace ALTER USER with SET PASSWORD for supporting legacy MariaDB versions lte 10.1
1 parent b9463a4 commit 1c5e10b

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

commands/create-user-db

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,10 @@ if [ "$CREATE_DB" == 'true' ]; then
3434
echo "CREATE DATABASE IF NOT EXISTS ${NEW_NAME};" | $MYSQL
3535
fi
3636
# Create user first (MySQL 8 compatible)
37-
echo "CREATE USER IF NOT EXISTS ${NEW_NAME}@'%' IDENTIFIED BY '$NEW_PASS';" | $MYSQL
37+
echo "CREATE USER IF NOT EXISTS ${NEW_NAME}@'%' IDENTIFIED BY '${NEW_PASS}';" | $MYSQL
3838
# Change the password if the user already existed
39-
echo "ALTER USER ${NEW_NAME}@'%' IDENTIFIED BY '$NEW_PASS';" | $MYSQL
39+
# N.B. ALTER USER is preferred, however MariaDB 10.1 and earlier don't support this
40+
echo "SET PASSWORD FOR ${NEW_NAME}@'%' = PASSWORD('${NEW_PASS}');" | $MYSQL
4041
# Specifiy the exact permissions. NB. This is also RDS compatible as GRANT ALL not possible.
4142
echo "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE, EVENT, TRIGGER ON ${NEW_NAME}.* TO ${NEW_NAME}@'%';" | $MYSQL
4243

0 commit comments

Comments
 (0)