From cb3fadc37100847a63746843a8ad259b700fad19 Mon Sep 17 00:00:00 2001 From: Andy Postnikov <apostnikov@gmail.com> Date: Thu, 23 May 2024 19:13:33 +0200 Subject: [PATCH] DB: mariadb 10.6/10.3 prevent re-start at start-up #3449463 --- db/mariadb-10.3.22/Dockerfile | 2 +- db/mariadb-10.3.22/conf/startup.sh | 24 +++++++++++++++++++----- db/mariadb-10.6/Dockerfile | 2 +- db/mariadb-10.6/conf/startup.sh | 24 +++++++++++++++++++----- 4 files changed, 40 insertions(+), 12 deletions(-) diff --git a/db/mariadb-10.3.22/Dockerfile b/db/mariadb-10.3.22/Dockerfile index 2475e5f5..1d07492e 100644 --- a/db/mariadb-10.3.22/Dockerfile +++ b/db/mariadb-10.3.22/Dockerfile @@ -1,4 +1,4 @@ -##### +###### FROM docker.io/mariadb:10.3.22 MAINTAINER drupalci diff --git a/db/mariadb-10.3.22/conf/startup.sh b/db/mariadb-10.3.22/conf/startup.sh index 998cdc0e..75443109 100755 --- a/db/mariadb-10.3.22/conf/startup.sh +++ b/db/mariadb-10.3.22/conf/startup.sh @@ -1,5 +1,17 @@ #!/bin/bash +terminate() { + echo "Caught termination signal, shutting down..." + if [ -n "${PID}" ]; then + kill -TERM "$(pgrep -P ${PID} -x mysqld)" + wait "${PID}" + fi + echo "Shutdown complete." + exit 0 +} + +trap terminate SIGTERM SIGINT + if [ ! -f /var/lib/mysql/ibdata1 ]; then echo "rebuilding /var/lib/mysql/ibdata1" @@ -12,10 +24,12 @@ if [ ! -f /var/lib/mysql/ibdata1 ]; mysql -e "CREATE USER 'drupaltestbot'@'%' IDENTIFIED BY 'drupaltestbotpw';" mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'drupaltestbot'@'%' WITH GRANT OPTION; SELECT User FROM mysql.user; FLUSH PRIVILEGES;" echo "Grants added" - killall mysqld - wait ${PID} fi -/usr/bin/mysqld_safe; -echo "mysql died at $(date)"; - +# Start MySQL server if container restart and data is ready +if [ -z "${PID}" ]; then + /usr/bin/mysqld_safe & + PID="${!}" +fi +wait ${PID} +echo "mysql exited at $(date)"; diff --git a/db/mariadb-10.6/Dockerfile b/db/mariadb-10.6/Dockerfile index 9a9c9ac1..88c467e4 100644 --- a/db/mariadb-10.6/Dockerfile +++ b/db/mariadb-10.6/Dockerfile @@ -1,4 +1,4 @@ -#### +##### FROM docker.io/mariadb:10.6 MAINTAINER drupalci diff --git a/db/mariadb-10.6/conf/startup.sh b/db/mariadb-10.6/conf/startup.sh index 998cdc0e..b3ccd0b5 100755 --- a/db/mariadb-10.6/conf/startup.sh +++ b/db/mariadb-10.6/conf/startup.sh @@ -1,5 +1,17 @@ #!/bin/bash +terminate() { + echo "Caught termination signal, shutting down..." + if [ -n "${PID}" ]; then + kill -TERM "$(pgrep -P ${PID} -x mariadbd)" + wait "${PID}" + fi + echo "Shutdown complete." + exit 0 +} + +trap terminate SIGTERM SIGINT + if [ ! -f /var/lib/mysql/ibdata1 ]; then echo "rebuilding /var/lib/mysql/ibdata1" @@ -12,10 +24,12 @@ if [ ! -f /var/lib/mysql/ibdata1 ]; mysql -e "CREATE USER 'drupaltestbot'@'%' IDENTIFIED BY 'drupaltestbotpw';" mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'drupaltestbot'@'%' WITH GRANT OPTION; SELECT User FROM mysql.user; FLUSH PRIVILEGES;" echo "Grants added" - killall mysqld - wait ${PID} fi -/usr/bin/mysqld_safe; -echo "mysql died at $(date)"; - +# Start MySQL server if container restart and data is ready +if [ -z "${PID}" ]; then + /usr/bin/mysqld_safe & + PID="${!}" +fi +wait ${PID} +echo "mysql exited at $(date)"; -- GitLab