diff --git a/5.7/Dockerfile b/5.7/Dockerfile index 94fd1e0de..2f19033b8 100644 --- a/5.7/Dockerfile +++ b/5.7/Dockerfile @@ -19,12 +19,18 @@ RUN set -x \ RUN mkdir /docker-entrypoint-initdb.d +RUN apt-get update && apt-get install -y --no-install-recommends \ +# for MYSQL_RANDOM_ROOT_PASSWORD + pwgen \ +# for mysql_ssl_rsa_setup + openssl \ # FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db: # File::Basename # File::Copy # Sys::Hostname # Data::Dumper -RUN apt-get update && apt-get install -y perl pwgen --no-install-recommends && rm -rf /var/lib/apt/lists/* + perl \ + && rm -rf /var/lib/apt/lists/* RUN set -ex; \ # gpg: key 5072E1F5: public key "MySQL Release Engineering " imported diff --git a/5.7/docker-entrypoint.sh b/5.7/docker-entrypoint.sh index eb01ec1ad..ea515ceca 100755 --- a/5.7/docker-entrypoint.sh +++ b/5.7/docker-entrypoint.sh @@ -87,6 +87,13 @@ if [ "$1" = 'mysqld' -a -z "$wantHelp" ]; then "$@" --initialize-insecure echo 'Database initialized' + if command -v mysql_ssl_rsa_setup > /dev/null && [ ! -e "$DATADIR/server-key.pem" ]; then + # https://github.com/mysql/mysql-server/blob/23032807537d8dd8ee4ec1c4d40f0633cd4e12f9/packaging/deb-in/extra/mysql-systemd-start#L81-L84 + echo 'Initializing certificates' + mysql_ssl_rsa_setup --datadir="$DATADIR" + echo 'Certificates initialized' + fi + "$@" --skip-networking --socket=/var/run/mysqld/mysqld.sock & pid="$!" diff --git a/8.0/Dockerfile b/8.0/Dockerfile index 6bf14295d..2cba5af53 100644 --- a/8.0/Dockerfile +++ b/8.0/Dockerfile @@ -19,12 +19,18 @@ RUN set -x \ RUN mkdir /docker-entrypoint-initdb.d +RUN apt-get update && apt-get install -y --no-install-recommends \ +# for MYSQL_RANDOM_ROOT_PASSWORD + pwgen \ +# for mysql_ssl_rsa_setup + openssl \ # FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db: # File::Basename # File::Copy # Sys::Hostname # Data::Dumper -RUN apt-get update && apt-get install -y perl pwgen --no-install-recommends && rm -rf /var/lib/apt/lists/* + perl \ + && rm -rf /var/lib/apt/lists/* RUN set -ex; \ # gpg: key 5072E1F5: public key "MySQL Release Engineering " imported diff --git a/8.0/docker-entrypoint.sh b/8.0/docker-entrypoint.sh index eb01ec1ad..ea515ceca 100755 --- a/8.0/docker-entrypoint.sh +++ b/8.0/docker-entrypoint.sh @@ -87,6 +87,13 @@ if [ "$1" = 'mysqld' -a -z "$wantHelp" ]; then "$@" --initialize-insecure echo 'Database initialized' + if command -v mysql_ssl_rsa_setup > /dev/null && [ ! -e "$DATADIR/server-key.pem" ]; then + # https://github.com/mysql/mysql-server/blob/23032807537d8dd8ee4ec1c4d40f0633cd4e12f9/packaging/deb-in/extra/mysql-systemd-start#L81-L84 + echo 'Initializing certificates' + mysql_ssl_rsa_setup --datadir="$DATADIR" + echo 'Certificates initialized' + fi + "$@" --skip-networking --socket=/var/run/mysqld/mysqld.sock & pid="$!"