Adding docker-entrypoint-startdb.d (#144)

* Adding docker-entrypoint-startdb.d

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* Bug fix on 5.7

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* Simplifying logic

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* Bug fix on simplified start/init logic

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* Update README.md

Co-authored-by: Carlos Rodríguez Hernández <carrodher1179@gmail.com>
Signed-off-by: IkeMtz <ikemtz@outlook.com>

* Update 8.0/debian-10/rootfs/opt/bitnami/scripts/libmysql.sh

Co-authored-by: Carlos Rodríguez Hernández <carrodher1179@gmail.com>
Signed-off-by: IkeMtz <ikemtz@outlook.com>

* Update 5.7/debian-10/rootfs/opt/bitnami/scripts/libmysql.sh

Co-authored-by: Carlos Rodríguez Hernández <carrodher1179@gmail.com>
Signed-off-by: IkeMtz <ikemtz@outlook.com>

* Update 5.7/debian-10/rootfs/opt/bitnami/scripts/libmysql.sh

Co-authored-by: Carlos Rodríguez Hernández <carrodher1179@gmail.com>
Signed-off-by: IkeMtz <ikemtz@outlook.com>

* Update 5.7/debian-10/rootfs/opt/bitnami/scripts/libmysql.sh

Co-authored-by: Carlos Rodríguez Hernández <carrodher1179@gmail.com>
Signed-off-by: IkeMtz <ikemtz@outlook.com>

* Update 8.0/debian-10/rootfs/opt/bitnami/scripts/libmysql.sh

Co-authored-by: Carlos Rodríguez Hernández <carrodher1179@gmail.com>
Signed-off-by: IkeMtz <ikemtz@outlook.com>

* Update 8.0/debian-10/rootfs/opt/bitnami/scripts/libmysql.sh

Co-authored-by: Carlos Rodríguez Hernández <carrodher1179@gmail.com>
Signed-off-by: IkeMtz <ikemtz@outlook.com>

* Update 5.7/debian-10/rootfs/opt/bitnami/scripts/libmysql.sh

Co-authored-by: Carlos Rodríguez Hernández <carrodher1179@gmail.com>
Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 8.0.28-debian-10-r34 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 5.7.37-debian-10-r50 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 8.0.28-debian-10-r35 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 5.7.37-debian-10-r51 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 8.0.28-debian-10-r36 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 5.7.37-debian-10-r52 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 8.0.28-debian-10-r37 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 5.7.37-debian-10-r53 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 8.0.28-debian-10-r38 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 5.7.37-debian-10-r54 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 8.0.28-debian-10-r39 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 5.7.37-debian-10-r55 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 8.0.28-debian-10-r40 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 5.7.37-debian-10-r56 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

* 8.0.28-debian-10-r41 release

Signed-off-by: IkeMtz <ikemtz@outlook.com>

Co-authored-by: Carlos Rodríguez Hernández <carrodher1179@gmail.com>
Co-authored-by: Bitnami Bot <containers-bot@bitnami.com>
Co-authored-by: Carlos Rodríguez Hernández <carlosrh@vmware.com>
This commit is contained in:
Isaac Martinez
2022-03-17 13:17:55 -04:00
committed by GitHub
parent 0ffda34daa
commit 9521eea604
7 changed files with 28 additions and 18 deletions

View File

@@ -16,6 +16,7 @@ RUN apt-get update && apt-get upgrade -y && \
rm -r /var/lib/apt/lists /var/cache/apt/archives
RUN chmod g+rwX /opt/bitnami
RUN mkdir /docker-entrypoint-initdb.d
RUN mkdir /docker-entrypoint-startdb.d
COPY rootfs /
RUN /opt/bitnami/scripts/mysql/postunpack.sh

View File

@@ -322,18 +322,18 @@ EOF
}
########################
# Run custom initialization scripts
# Run custom scripts
# Globals:
# DB_*
# Arguments:
# None
# $1 - 'init' or 'start' ('init' runs on first container start, 'start' runs everytime the container starts)
# Returns:
# None
#########################
mysql_custom_init_scripts() {
if [[ -n $(find /docker-entrypoint-initdb.d/ -type f -regex ".*\.\(sh\|sql\|sql.gz\)") ]] && [[ ! -f "$DB_DATA_DIR/.user_scripts_initialized" ]] ; then
info "Loading user's custom files from /docker-entrypoint-initdb.d";
for f in /docker-entrypoint-initdb.d/*; do
mysql_custom_scripts() {
if [[ -n $(find /docker-entrypoint-"$1"db.d/ -type f -regex ".*\.\(sh\|sql\|sql.gz\)") ]] && { [[ ! -f "$DB_DATA_DIR/.user_scripts_initialized" ]] || [[ $1 = start ]]; } then
info "Loading user's custom files from /docker-entrypoint-$1db.d";
for f in /docker-entrypoint-"$1"db.d/*; do
debug "Executing $f"
case "$f" in
*.sh)
@@ -348,7 +348,7 @@ mysql_custom_init_scripts() {
fi
;;
*.sql)
[[ "$DB_REPLICATION_MODE" = "slave" ]] && warn "Custom SQL initdb is not supported on slave nodes, ignoring $f" && continue
[[ "$DB_REPLICATION_MODE" = "slave" ]] && warn "Custom SQL $1db is not supported on slave nodes, ignoring $f" && continue
wait_for_mysql_access "$DB_ROOT_USER"
# Temporarily disabling autocommit to increase performance when importing huge files
if ! mysql_execute_print_output "$DB_DATABASE" "$DB_ROOT_USER" "$DB_ROOT_PASSWORD" <<< "SET autocommit=0; source ${f}; COMMIT;"; then
@@ -357,7 +357,7 @@ mysql_custom_init_scripts() {
fi
;;
*.sql.gz)
[[ "$DB_REPLICATION_MODE" = "slave" ]] && warn "Custom SQL initdb is not supported on slave nodes, ignoring $f" && continue
[[ "$DB_REPLICATION_MODE" = "slave" ]] && warn "Custom SQL $1db is not supported on slave nodes, ignoring $f" && continue
wait_for_mysql_access "$DB_ROOT_USER"
# In this case, it is best to pipe the uncompressed SQL commands directly to the 'mysql' command as extraction may cause problems
# e.g. lack of disk space, permission issues...

View File

@@ -30,7 +30,9 @@ fi
# Ensure MySQL is initialized
mysql_initialize
# Allow running custom initialization scripts
mysql_custom_init_scripts
mysql_custom_scripts 'init'
# Allow running custom start scripts
mysql_custom_scripts 'start'
# Stop MySQL before flagging it as fully initialized.
# Relying only on the trap defined above could produce a race condition.
mysql_stop