From 5ddae22b9767b8083def17fe580a6dfc40f7b5d9 Mon Sep 17 00:00:00 2001 From: Krzysztof Opasiak Date: Thu, 2 Jul 2020 20:10:04 +0200 Subject: [PATCH] [COMMON] Allow to use ' in mariadb-init ' is one of characters that are placed in passwords by our default password generation algorith. As ' is a special character in SQL we need to escape it before concatenating it with SQL command. Let's also add set -e to fail if any of databases has not been created Issue-ID: OOM-2436 Signed-off-by: Krzysztof Opasiak Change-Id: Ida8c75639eaa4049e3f874d30666f1fe4dc02e12 (cherry picked from commit c5dac87fa301247928211d5944be22ae14bcd534) --- kubernetes/common/mariadb-init/resources/config/db_init.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kubernetes/common/mariadb-init/resources/config/db_init.sh b/kubernetes/common/mariadb-init/resources/config/db_init.sh index b2fdb14b12..40254d469b 100755 --- a/kubernetes/common/mariadb-init/resources/config/db_init.sh +++ b/kubernetes/common/mariadb-init/resources/config/db_init.sh @@ -14,11 +14,14 @@ # See the License for the specific language governing permissions and # limitations under the License. +# make sure the script fails if any of commands failed +set -e + while read DB ; do USER_VAR="MYSQL_USER_${DB^^}" PASS_VAR="MYSQL_PASSWORD_${DB^^}" USER=${!USER_VAR} - PASS=${!PASS_VAR} + PASS=`echo -n ${!PASS_VAR} | sed -e "s/'/''/g"` MYSQL_OPTS=( -h ${DB_HOST} -P ${DB_PORT} -uroot -p${MYSQL_ROOT_PASSWORD} ) echo "Creating database ${DB} and user ${USER}..." -- 2.16.6