From 7ee7ef491747bc6e031ad1b017f3283e2de1333a Mon Sep 17 00:00:00 2001 From: Daniel Black Date: Tue, 27 Sep 2022 12:42:38 +1000 Subject: [PATCH] config: skip-host-cache and skip-name-resolve to /etc/mysql/mariadb.conf.d/05-skipcache.cnf To allow a user to override /etc/mysql/my.cnf and skip these options. skip-host-cache renamed to its full name of host-cache-size=0 for clarity. --- 10.10/Dockerfile | 7 ++++--- 10.11/Dockerfile | 7 ++++--- 10.3/Dockerfile | 7 ++++--- 10.4/Dockerfile | 7 ++++--- 10.5/Dockerfile | 7 ++++--- 10.6/Dockerfile | 7 ++++--- 10.7/Dockerfile | 7 ++++--- 10.8/Dockerfile | 7 ++++--- 10.9/Dockerfile | 7 ++++--- Dockerfile.template | 7 ++++--- 10 files changed, 40 insertions(+), 30 deletions(-) diff --git a/10.10/Dockerfile b/10.10/Dockerfile index 013a9ce..7c63b83 100644 --- a/10.10/Dockerfile +++ b/10.10/Dockerfile @@ -113,11 +113,12 @@ RUN set -ex; \ | xargs -0 grep -lZE '^(bind-address|log|user\s)' \ | xargs -rt -0 sed -Ei 's/^(bind-address|log|user\s)/#&/'; \ # don't reverse lookup hostnames, they are usually another container + echo "[mariadb]\nhost-cache-size=0\nskip-name-resolve\n" > /etc/mysql/mariadb.conf.d/05-skipcache.cnf; \ # Issue #327 Correct order of reading directories /etc/mysql/mariadb.conf.d before /etc/mysql/conf.d (mount-point per documentation) - if [ ! -L /etc/mysql/my.cnf ]; then sed -i -e '/includedir/i[mariadb]\nskip-host-cache\nskip-name-resolve\n' /etc/mysql/my.cnf; \ + if [ -L /etc/mysql/my.cnf ]; then \ # 10.5+ - else sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/[mariadbd]\nskip-host-cache\nskip-name-resolve\n\n\2\n\1/}' \ - /etc/mysql/mariadb.cnf; fi + sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/\n\2\n\1/}' /etc/mysql/mariadb.cnf; \ + fi VOLUME /var/lib/mysql diff --git a/10.11/Dockerfile b/10.11/Dockerfile index 09947ab..a3703ab 100644 --- a/10.11/Dockerfile +++ b/10.11/Dockerfile @@ -115,11 +115,12 @@ RUN set -ex; \ | xargs -0 grep -lZE '^(bind-address|log|user\s)' \ | xargs -rt -0 sed -Ei 's/^(bind-address|log|user\s)/#&/'; \ # don't reverse lookup hostnames, they are usually another container + echo "[mariadb]\nhost-cache-size=0\nskip-name-resolve\n" > /etc/mysql/mariadb.conf.d/05-skipcache.cnf; \ # Issue #327 Correct order of reading directories /etc/mysql/mariadb.conf.d before /etc/mysql/conf.d (mount-point per documentation) - if [ ! -L /etc/mysql/my.cnf ]; then sed -i -e '/includedir/i[mariadb]\nskip-host-cache\nskip-name-resolve\n' /etc/mysql/my.cnf; \ + if [ -L /etc/mysql/my.cnf ]; then \ # 10.5+ - else sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/[mariadbd]\nskip-host-cache\nskip-name-resolve\n\n\2\n\1/}' \ - /etc/mysql/mariadb.cnf; fi + sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/\n\2\n\1/}' /etc/mysql/mariadb.cnf; \ + fi VOLUME /var/lib/mysql diff --git a/10.3/Dockerfile b/10.3/Dockerfile index 884f4b6..d67c27d 100644 --- a/10.3/Dockerfile +++ b/10.3/Dockerfile @@ -115,11 +115,12 @@ RUN set -ex; \ | xargs -0 grep -lZE '^(bind-address|log|user\s)' \ | xargs -rt -0 sed -Ei 's/^(bind-address|log|user\s)/#&/'; \ # don't reverse lookup hostnames, they are usually another container + echo "[mariadb]\nhost-cache-size=0\nskip-name-resolve\n" > /etc/mysql/mariadb.conf.d/05-skipcache.cnf; \ # Issue #327 Correct order of reading directories /etc/mysql/mariadb.conf.d before /etc/mysql/conf.d (mount-point per documentation) - if [ ! -L /etc/mysql/my.cnf ]; then sed -i -e '/includedir/i[mariadb]\nskip-host-cache\nskip-name-resolve\n' /etc/mysql/my.cnf; \ + if [ -L /etc/mysql/my.cnf ]; then \ # 10.5+ - else sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/[mariadbd]\nskip-host-cache\nskip-name-resolve\n\n\2\n\1/}' \ - /etc/mysql/mariadb.cnf; fi + sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/\n\2\n\1/}' /etc/mysql/mariadb.cnf; \ + fi VOLUME /var/lib/mysql diff --git a/10.4/Dockerfile b/10.4/Dockerfile index acf612c..2cbdf04 100644 --- a/10.4/Dockerfile +++ b/10.4/Dockerfile @@ -115,11 +115,12 @@ RUN set -ex; \ | xargs -0 grep -lZE '^(bind-address|log|user\s)' \ | xargs -rt -0 sed -Ei 's/^(bind-address|log|user\s)/#&/'; \ # don't reverse lookup hostnames, they are usually another container + echo "[mariadb]\nhost-cache-size=0\nskip-name-resolve\n" > /etc/mysql/mariadb.conf.d/05-skipcache.cnf; \ # Issue #327 Correct order of reading directories /etc/mysql/mariadb.conf.d before /etc/mysql/conf.d (mount-point per documentation) - if [ ! -L /etc/mysql/my.cnf ]; then sed -i -e '/includedir/i[mariadb]\nskip-host-cache\nskip-name-resolve\n' /etc/mysql/my.cnf; \ + if [ -L /etc/mysql/my.cnf ]; then \ # 10.5+ - else sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/[mariadbd]\nskip-host-cache\nskip-name-resolve\n\n\2\n\1/}' \ - /etc/mysql/mariadb.cnf; fi + sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/\n\2\n\1/}' /etc/mysql/mariadb.cnf; \ + fi VOLUME /var/lib/mysql diff --git a/10.5/Dockerfile b/10.5/Dockerfile index a4a8584..282eec8 100644 --- a/10.5/Dockerfile +++ b/10.5/Dockerfile @@ -115,11 +115,12 @@ RUN set -ex; \ | xargs -0 grep -lZE '^(bind-address|log|user\s)' \ | xargs -rt -0 sed -Ei 's/^(bind-address|log|user\s)/#&/'; \ # don't reverse lookup hostnames, they are usually another container + echo "[mariadb]\nhost-cache-size=0\nskip-name-resolve\n" > /etc/mysql/mariadb.conf.d/05-skipcache.cnf; \ # Issue #327 Correct order of reading directories /etc/mysql/mariadb.conf.d before /etc/mysql/conf.d (mount-point per documentation) - if [ ! -L /etc/mysql/my.cnf ]; then sed -i -e '/includedir/i[mariadb]\nskip-host-cache\nskip-name-resolve\n' /etc/mysql/my.cnf; \ + if [ -L /etc/mysql/my.cnf ]; then \ # 10.5+ - else sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/[mariadbd]\nskip-host-cache\nskip-name-resolve\n\n\2\n\1/}' \ - /etc/mysql/mariadb.cnf; fi + sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/\n\2\n\1/}' /etc/mysql/mariadb.cnf; \ + fi VOLUME /var/lib/mysql diff --git a/10.6/Dockerfile b/10.6/Dockerfile index 9be3a41..af20838 100644 --- a/10.6/Dockerfile +++ b/10.6/Dockerfile @@ -115,11 +115,12 @@ RUN set -ex; \ | xargs -0 grep -lZE '^(bind-address|log|user\s)' \ | xargs -rt -0 sed -Ei 's/^(bind-address|log|user\s)/#&/'; \ # don't reverse lookup hostnames, they are usually another container + echo "[mariadb]\nhost-cache-size=0\nskip-name-resolve\n" > /etc/mysql/mariadb.conf.d/05-skipcache.cnf; \ # Issue #327 Correct order of reading directories /etc/mysql/mariadb.conf.d before /etc/mysql/conf.d (mount-point per documentation) - if [ ! -L /etc/mysql/my.cnf ]; then sed -i -e '/includedir/i[mariadb]\nskip-host-cache\nskip-name-resolve\n' /etc/mysql/my.cnf; \ + if [ -L /etc/mysql/my.cnf ]; then \ # 10.5+ - else sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/[mariadbd]\nskip-host-cache\nskip-name-resolve\n\n\2\n\1/}' \ - /etc/mysql/mariadb.cnf; fi + sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/\n\2\n\1/}' /etc/mysql/mariadb.cnf; \ + fi VOLUME /var/lib/mysql diff --git a/10.7/Dockerfile b/10.7/Dockerfile index 365b52a..97baad7 100644 --- a/10.7/Dockerfile +++ b/10.7/Dockerfile @@ -115,11 +115,12 @@ RUN set -ex; \ | xargs -0 grep -lZE '^(bind-address|log|user\s)' \ | xargs -rt -0 sed -Ei 's/^(bind-address|log|user\s)/#&/'; \ # don't reverse lookup hostnames, they are usually another container + echo "[mariadb]\nhost-cache-size=0\nskip-name-resolve\n" > /etc/mysql/mariadb.conf.d/05-skipcache.cnf; \ # Issue #327 Correct order of reading directories /etc/mysql/mariadb.conf.d before /etc/mysql/conf.d (mount-point per documentation) - if [ ! -L /etc/mysql/my.cnf ]; then sed -i -e '/includedir/i[mariadb]\nskip-host-cache\nskip-name-resolve\n' /etc/mysql/my.cnf; \ + if [ -L /etc/mysql/my.cnf ]; then \ # 10.5+ - else sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/[mariadbd]\nskip-host-cache\nskip-name-resolve\n\n\2\n\1/}' \ - /etc/mysql/mariadb.cnf; fi + sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/\n\2\n\1/}' /etc/mysql/mariadb.cnf; \ + fi VOLUME /var/lib/mysql diff --git a/10.8/Dockerfile b/10.8/Dockerfile index e8e1cef..10cb569 100644 --- a/10.8/Dockerfile +++ b/10.8/Dockerfile @@ -115,11 +115,12 @@ RUN set -ex; \ | xargs -0 grep -lZE '^(bind-address|log|user\s)' \ | xargs -rt -0 sed -Ei 's/^(bind-address|log|user\s)/#&/'; \ # don't reverse lookup hostnames, they are usually another container + echo "[mariadb]\nhost-cache-size=0\nskip-name-resolve\n" > /etc/mysql/mariadb.conf.d/05-skipcache.cnf; \ # Issue #327 Correct order of reading directories /etc/mysql/mariadb.conf.d before /etc/mysql/conf.d (mount-point per documentation) - if [ ! -L /etc/mysql/my.cnf ]; then sed -i -e '/includedir/i[mariadb]\nskip-host-cache\nskip-name-resolve\n' /etc/mysql/my.cnf; \ + if [ -L /etc/mysql/my.cnf ]; then \ # 10.5+ - else sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/[mariadbd]\nskip-host-cache\nskip-name-resolve\n\n\2\n\1/}' \ - /etc/mysql/mariadb.cnf; fi + sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/\n\2\n\1/}' /etc/mysql/mariadb.cnf; \ + fi VOLUME /var/lib/mysql diff --git a/10.9/Dockerfile b/10.9/Dockerfile index 579cce0..37c2273 100644 --- a/10.9/Dockerfile +++ b/10.9/Dockerfile @@ -113,11 +113,12 @@ RUN set -ex; \ | xargs -0 grep -lZE '^(bind-address|log|user\s)' \ | xargs -rt -0 sed -Ei 's/^(bind-address|log|user\s)/#&/'; \ # don't reverse lookup hostnames, they are usually another container + echo "[mariadb]\nhost-cache-size=0\nskip-name-resolve\n" > /etc/mysql/mariadb.conf.d/05-skipcache.cnf; \ # Issue #327 Correct order of reading directories /etc/mysql/mariadb.conf.d before /etc/mysql/conf.d (mount-point per documentation) - if [ ! -L /etc/mysql/my.cnf ]; then sed -i -e '/includedir/i[mariadb]\nskip-host-cache\nskip-name-resolve\n' /etc/mysql/my.cnf; \ + if [ -L /etc/mysql/my.cnf ]; then \ # 10.5+ - else sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/[mariadbd]\nskip-host-cache\nskip-name-resolve\n\n\2\n\1/}' \ - /etc/mysql/mariadb.cnf; fi + sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/\n\2\n\1/}' /etc/mysql/mariadb.cnf; \ + fi VOLUME /var/lib/mysql diff --git a/Dockerfile.template b/Dockerfile.template index efd5552..a2870bd 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -115,11 +115,12 @@ RUN set -ex; \ | xargs -0 grep -lZE '^(bind-address|log|user\s)' \ | xargs -rt -0 sed -Ei 's/^(bind-address|log|user\s)/#&/'; \ # don't reverse lookup hostnames, they are usually another container + echo "[mariadb]\nhost-cache-size=0\nskip-name-resolve\n" > /etc/mysql/mariadb.conf.d/05-skipcache.cnf; \ # Issue #327 Correct order of reading directories /etc/mysql/mariadb.conf.d before /etc/mysql/conf.d (mount-point per documentation) - if [ ! -L /etc/mysql/my.cnf ]; then sed -i -e '/includedir/i[mariadb]\nskip-host-cache\nskip-name-resolve\n' /etc/mysql/my.cnf; \ + if [ -L /etc/mysql/my.cnf ]; then \ # 10.5+ - else sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/[mariadbd]\nskip-host-cache\nskip-name-resolve\n\n\2\n\1/}' \ - /etc/mysql/mariadb.cnf; fi + sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/\n\2\n\1/}' /etc/mysql/mariadb.cnf; \ + fi VOLUME /var/lib/mysql