From 7a87af078153c8e819ffd19281cd914215b77a5d Mon Sep 17 00:00:00 2001 From: "Robin C. Ladiges" Date: Thu, 23 Apr 2020 18:16:20 +0200 Subject: [PATCH] Escape database underscore wildcard if the $MYSQL_DATABASE environment variable contains underscores ("_") they are now escaped, so that the GRANT matches exactly the given database name. --- .template.Debian/docker-entrypoint.sh | 2 +- 5.6/docker-entrypoint.sh | 2 +- 5.7/docker-entrypoint.sh | 2 +- 8.0/docker-entrypoint.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.template.Debian/docker-entrypoint.sh b/.template.Debian/docker-entrypoint.sh index 8db356750..6845ee49b 100755 --- a/.template.Debian/docker-entrypoint.sh +++ b/.template.Debian/docker-entrypoint.sh @@ -284,7 +284,7 @@ docker_setup_db() { if [ -n "$MYSQL_DATABASE" ]; then mysql_note "Giving user ${MYSQL_USER} access to schema ${MYSQL_DATABASE}" - docker_process_sql --database=mysql <<<"GRANT ALL ON \`$MYSQL_DATABASE\`.* TO '$MYSQL_USER'@'%' ;" + docker_process_sql --database=mysql <<<"GRANT ALL ON \`${MYSQL_DATABASE//_/\\_}\`.* TO '$MYSQL_USER'@'%' ;" fi docker_process_sql --database=mysql <<<"FLUSH PRIVILEGES ;" diff --git a/5.6/docker-entrypoint.sh b/5.6/docker-entrypoint.sh index 8db356750..6845ee49b 100755 --- a/5.6/docker-entrypoint.sh +++ b/5.6/docker-entrypoint.sh @@ -284,7 +284,7 @@ docker_setup_db() { if [ -n "$MYSQL_DATABASE" ]; then mysql_note "Giving user ${MYSQL_USER} access to schema ${MYSQL_DATABASE}" - docker_process_sql --database=mysql <<<"GRANT ALL ON \`$MYSQL_DATABASE\`.* TO '$MYSQL_USER'@'%' ;" + docker_process_sql --database=mysql <<<"GRANT ALL ON \`${MYSQL_DATABASE//_/\\_}\`.* TO '$MYSQL_USER'@'%' ;" fi docker_process_sql --database=mysql <<<"FLUSH PRIVILEGES ;" diff --git a/5.7/docker-entrypoint.sh b/5.7/docker-entrypoint.sh index 8db356750..6845ee49b 100755 --- a/5.7/docker-entrypoint.sh +++ b/5.7/docker-entrypoint.sh @@ -284,7 +284,7 @@ docker_setup_db() { if [ -n "$MYSQL_DATABASE" ]; then mysql_note "Giving user ${MYSQL_USER} access to schema ${MYSQL_DATABASE}" - docker_process_sql --database=mysql <<<"GRANT ALL ON \`$MYSQL_DATABASE\`.* TO '$MYSQL_USER'@'%' ;" + docker_process_sql --database=mysql <<<"GRANT ALL ON \`${MYSQL_DATABASE//_/\\_}\`.* TO '$MYSQL_USER'@'%' ;" fi docker_process_sql --database=mysql <<<"FLUSH PRIVILEGES ;" diff --git a/8.0/docker-entrypoint.sh b/8.0/docker-entrypoint.sh index 8db356750..6845ee49b 100755 --- a/8.0/docker-entrypoint.sh +++ b/8.0/docker-entrypoint.sh @@ -284,7 +284,7 @@ docker_setup_db() { if [ -n "$MYSQL_DATABASE" ]; then mysql_note "Giving user ${MYSQL_USER} access to schema ${MYSQL_DATABASE}" - docker_process_sql --database=mysql <<<"GRANT ALL ON \`$MYSQL_DATABASE\`.* TO '$MYSQL_USER'@'%' ;" + docker_process_sql --database=mysql <<<"GRANT ALL ON \`${MYSQL_DATABASE//_/\\_}\`.* TO '$MYSQL_USER'@'%' ;" fi docker_process_sql --database=mysql <<<"FLUSH PRIVILEGES ;"