diff --git a/bitnami/mysql/8.0/debian-10/Dockerfile b/bitnami/mysql/8.0/debian-10/Dockerfile index 3961750092ae..a9e70b9ee79f 100644 --- a/bitnami/mysql/8.0/debian-10/Dockerfile +++ b/bitnami/mysql/8.0/debian-10/Dockerfile @@ -18,7 +18,7 @@ RUN mkdir /docker-entrypoint-initdb.d COPY rootfs / RUN /opt/bitnami/scripts/mysql/postunpack.sh ENV BITNAMI_APP_NAME="mysql" \ - BITNAMI_IMAGE_VERSION="8.0.23-debian-10-r82" \ + BITNAMI_IMAGE_VERSION="8.0.23-debian-10-r83" \ PATH="/opt/bitnami/common/bin:/opt/bitnami/mysql/bin:/opt/bitnami/mysql/sbin:$PATH" EXPOSE 3306 diff --git a/bitnami/mysql/8.0/debian-10/rootfs/opt/bitnami/scripts/libmysql.sh b/bitnami/mysql/8.0/debian-10/rootfs/opt/bitnami/scripts/libmysql.sh index 9e4ba7dc1b25..4c4dfbdba6a5 100644 --- a/bitnami/mysql/8.0/debian-10/rootfs/opt/bitnami/scripts/libmysql.sh +++ b/bitnami/mysql/8.0/debian-10/rootfs/opt/bitnami/scripts/libmysql.sh @@ -372,6 +372,49 @@ mysql_custom_init_scripts() { fi } +######################## +# Starts MySQL/MariaDB in the background and waits until it's ready +# Globals: +# DB_* +# Arguments: +# None +# Returns: +# None +######################### +mysql_start_bg() { + local -a flags=("--defaults-file=${DB_CONF_FILE}" "--basedir=${DB_BASE_DIR}" "--datadir=${DB_DATA_DIR}" "--socket=${DB_SOCKET_FILE}") + + # Only allow local connections until MySQL is fully initialized, to avoid apps trying to connect to MySQL before it is fully initialized + flags+=("--bind-address=127.0.0.1") + + # Add flags specified via the 'DB_EXTRA_FLAGS' environment variable + read -r -a db_extra_flags <<< "$(mysql_extra_flags)" + [[ "${#db_extra_flags[@]}" -gt 0 ]] && flags+=("${db_extra_flags[@]}") + + # Do not start as root, to avoid permission issues + am_i_root && flags+=("--user=${DB_DAEMON_USER}") + + # The slave should only start in 'run.sh', elseways user credentials would be needed for any connection + flags+=("--skip-slave-start") + flags+=("$@") + + is_mysql_running && return + + info "Starting $DB_FLAVOR in background" + debug_execute "${DB_SBIN_DIR}/mysqld" "${flags[@]}" & + + # we cannot use wait_for_mysql_access here as mysql_upgrade for MySQL >=8 depends on this command + # users are not configured on slave nodes during initialization due to --skip-slave-start + wait_for_mysql + + # Special configuration flag for system with slow disks that could take more time + # in initializing + if [[ -n "${DB_INIT_SLEEP_TIME}" ]]; then + debug "Sleeping ${DB_INIT_SLEEP_TIME} seconds before continuing with initialization" + sleep "${DB_INIT_SLEEP_TIME}" + fi +} + #!/bin/bash # # Library for mysql common @@ -569,49 +612,6 @@ is_mysql_not_running() { ! is_mysql_running } -######################## -# Starts MySQL/MariaDB in the background and waits until it's ready -# Globals: -# DB_* -# Arguments: -# None -# Returns: -# None -######################### -mysql_start_bg() { - local -a flags=("--defaults-file=${DB_CONF_FILE}" "--basedir=${DB_BASE_DIR}" "--datadir=${DB_DATA_DIR}" "--socket=${DB_SOCKET_FILE}") - - # Only allow local connections until MySQL is fully initialized, to avoid apps trying to connect to MySQL before it is fully initialized - flags+=("--bind-address=127.0.0.1") - - # Add flags specified via the 'DB_EXTRA_FLAGS' environment variable - read -r -a db_extra_flags <<< "$(mysql_extra_flags)" - [[ "${#db_extra_flags[@]}" -gt 0 ]] && flags+=("${db_extra_flags[@]}") - - # Do not start as root, to avoid permission issues - am_i_root && flags+=("--user=${DB_DAEMON_USER}") - - # The slave should only start in 'run.sh', elseways user credentials would be needed for any connection - flags+=("--skip-slave-start") - flags+=("$@") - - is_mysql_running && return - - info "Starting $DB_FLAVOR in background" - debug_execute "${DB_SBIN_DIR}/mysqld" "${flags[@]}" & - - # we cannot use wait_for_mysql_access here as mysql_upgrade for MySQL >=8 depends on this command - # users are not configured on slave nodes during initialization due to --skip-slave-start - wait_for_mysql - - # Special configuration flag for system with slow disks that could take more time - # in initializing - if [[ -n "${DB_INIT_SLEEP_TIME}" ]]; then - debug "Sleeping ${DB_INIT_SLEEP_TIME} seconds before continuing with initialization" - sleep "${DB_INIT_SLEEP_TIME}" - fi -} - ######################## # Wait for MySQL/MariaDB to be running # Globals: diff --git a/bitnami/mysql/README.md b/bitnami/mysql/README.md index afb0085d10c7..3521568405db 100644 --- a/bitnami/mysql/README.md +++ b/bitnami/mysql/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`8.0`, `8.0-debian-10`, `8.0.23`, `8.0.23-debian-10-r82`, `latest` (8.0/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-mysql/blob/8.0.23-debian-10-r82/8.0/debian-10/Dockerfile) +* [`8.0`, `8.0-debian-10`, `8.0.23`, `8.0.23-debian-10-r83`, `latest` (8.0/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-mysql/blob/8.0.23-debian-10-r83/8.0/debian-10/Dockerfile) * [`5.7`, `5.7-debian-10`, `5.7.33`, `5.7.33-debian-10-r83` (5.7/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-mysql/blob/5.7.33-debian-10-r83/5.7/debian-10/Dockerfile) Subscribe to project updates by watching the [bitnami/mysql GitHub repo](https://github.com/bitnami/bitnami-docker-mysql).