Skip to content

Commit 01821a5

Browse files
committed
innodb-buffer-pool-{dump,load}-at{startup,shutdown} adjust use
mysql_install_db - both disabled docker_temp_server_start, used for dump useful for if /docker-entrypoint-initdb.d is loaded. mariadb_upgrade - both disabled innodb-buffer-pool-load disabled until final startup. "loose" is used in case a user starts with --skip-innodb. Future enhancement, change dump only if something in /docker-entrypoint-initdb.d exists.
1 parent 5177ad2 commit 01821a5

File tree

8 files changed

+56
-24
lines changed

8 files changed

+56
-24
lines changed

10.2/docker-entrypoint.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ mysql_get_config() {
121121
# Do a temporary startup of the MariaDB server, for init purposes
122122
docker_temp_server_start() {
123123
"$@" --skip-networking --default-time-zone=SYSTEM --socket="${SOCKET}" --wsrep_on=OFF --skip-log-bin \
124-
--loose-innodb_buffer_pool_load_at_startup=0 --loose-innodb_buffer_pool_dump_at_shutdown=0 &
124+
--loose-innodb_buffer_pool_load_at_startup=0 &
125125
mysql_note "Waiting for server startup"
126126
# only use the root password if the database has already been initializaed
127127
# so that it won't try to fill in a password file when it hasn't been set yet
@@ -197,7 +197,10 @@ docker_init_database_dir() {
197197
installArgs+=( --skip-auth-anonymous-user )
198198
fi
199199
# "Other options are passed to mysqld." (so we pass all "mysqld" arguments directly here)
200-
mysql_install_db "${installArgs[@]}" "${@:2}" --default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin
200+
mysql_install_db "${installArgs[@]}" "${@:2}" \
201+
--default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin \
202+
--loose-innodb_buffer_pool_load_at_startup=0 \
203+
--loose-innodb_buffer_pool_dump_at_shutdown=0
201204
_mariadb_fake_upgrade_info
202205
mysql_note "Database files initialized"
203206
}
@@ -367,7 +370,8 @@ docker_mariadb_upgrade() {
367370
return
368371
fi
369372
mysql_note "Starting temporary server"
370-
docker_temp_server_start "$@" --skip-grant-tables
373+
docker_temp_server_start "$@" --skip-grant-tables \
374+
--loose-innodb_buffer_pool_dump_at_shutdown=0
371375
local pid=$!
372376
mysql_note "Temporary server started."
373377

10.3/docker-entrypoint.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ mysql_get_config() {
121121
# Do a temporary startup of the MariaDB server, for init purposes
122122
docker_temp_server_start() {
123123
"$@" --skip-networking --default-time-zone=SYSTEM --socket="${SOCKET}" --wsrep_on=OFF --skip-log-bin \
124-
--loose-innodb_buffer_pool_load_at_startup=0 --loose-innodb_buffer_pool_dump_at_shutdown=0 &
124+
--loose-innodb_buffer_pool_load_at_startup=0 &
125125
mysql_note "Waiting for server startup"
126126
# only use the root password if the database has already been initializaed
127127
# so that it won't try to fill in a password file when it hasn't been set yet
@@ -197,7 +197,10 @@ docker_init_database_dir() {
197197
installArgs+=( --skip-auth-anonymous-user )
198198
fi
199199
# "Other options are passed to mysqld." (so we pass all "mysqld" arguments directly here)
200-
mysql_install_db "${installArgs[@]}" "${@:2}" --default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin
200+
mysql_install_db "${installArgs[@]}" "${@:2}" \
201+
--default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin \
202+
--loose-innodb_buffer_pool_load_at_startup=0 \
203+
--loose-innodb_buffer_pool_dump_at_shutdown=0
201204
_mariadb_fake_upgrade_info
202205
mysql_note "Database files initialized"
203206
}
@@ -367,7 +370,8 @@ docker_mariadb_upgrade() {
367370
return
368371
fi
369372
mysql_note "Starting temporary server"
370-
docker_temp_server_start "$@" --skip-grant-tables
373+
docker_temp_server_start "$@" --skip-grant-tables \
374+
--loose-innodb_buffer_pool_dump_at_shutdown=0
371375
local pid=$!
372376
mysql_note "Temporary server started."
373377

10.4/docker-entrypoint.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ mysql_get_config() {
121121
# Do a temporary startup of the MariaDB server, for init purposes
122122
docker_temp_server_start() {
123123
"$@" --skip-networking --default-time-zone=SYSTEM --socket="${SOCKET}" --wsrep_on=OFF --skip-log-bin \
124-
--loose-innodb_buffer_pool_load_at_startup=0 --loose-innodb_buffer_pool_dump_at_shutdown=0 &
124+
--loose-innodb_buffer_pool_load_at_startup=0 &
125125
mysql_note "Waiting for server startup"
126126
# only use the root password if the database has already been initializaed
127127
# so that it won't try to fill in a password file when it hasn't been set yet
@@ -197,7 +197,10 @@ docker_init_database_dir() {
197197
installArgs+=( --skip-auth-anonymous-user )
198198
fi
199199
# "Other options are passed to mysqld." (so we pass all "mysqld" arguments directly here)
200-
mysql_install_db "${installArgs[@]}" "${@:2}" --default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin
200+
mysql_install_db "${installArgs[@]}" "${@:2}" \
201+
--default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin \
202+
--loose-innodb_buffer_pool_load_at_startup=0 \
203+
--loose-innodb_buffer_pool_dump_at_shutdown=0
201204
_mariadb_fake_upgrade_info
202205
mysql_note "Database files initialized"
203206
}
@@ -367,7 +370,8 @@ docker_mariadb_upgrade() {
367370
return
368371
fi
369372
mysql_note "Starting temporary server"
370-
docker_temp_server_start "$@" --skip-grant-tables
373+
docker_temp_server_start "$@" --skip-grant-tables \
374+
--loose-innodb_buffer_pool_dump_at_shutdown=0
371375
local pid=$!
372376
mysql_note "Temporary server started."
373377

10.5/docker-entrypoint.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ mysql_get_config() {
121121
# Do a temporary startup of the MariaDB server, for init purposes
122122
docker_temp_server_start() {
123123
"$@" --skip-networking --default-time-zone=SYSTEM --socket="${SOCKET}" --wsrep_on=OFF --skip-log-bin \
124-
--loose-innodb_buffer_pool_load_at_startup=0 --loose-innodb_buffer_pool_dump_at_shutdown=0 &
124+
--loose-innodb_buffer_pool_load_at_startup=0 &
125125
mysql_note "Waiting for server startup"
126126
# only use the root password if the database has already been initializaed
127127
# so that it won't try to fill in a password file when it hasn't been set yet
@@ -197,7 +197,10 @@ docker_init_database_dir() {
197197
installArgs+=( --skip-auth-anonymous-user )
198198
fi
199199
# "Other options are passed to mysqld." (so we pass all "mysqld" arguments directly here)
200-
mysql_install_db "${installArgs[@]}" "${@:2}" --default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin
200+
mysql_install_db "${installArgs[@]}" "${@:2}" \
201+
--default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin \
202+
--loose-innodb_buffer_pool_load_at_startup=0 \
203+
--loose-innodb_buffer_pool_dump_at_shutdown=0
201204
_mariadb_fake_upgrade_info
202205
mysql_note "Database files initialized"
203206
}
@@ -367,7 +370,8 @@ docker_mariadb_upgrade() {
367370
return
368371
fi
369372
mysql_note "Starting temporary server"
370-
docker_temp_server_start "$@" --skip-grant-tables
373+
docker_temp_server_start "$@" --skip-grant-tables \
374+
--loose-innodb_buffer_pool_dump_at_shutdown=0
371375
local pid=$!
372376
mysql_note "Temporary server started."
373377

10.6/docker-entrypoint.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ mysql_get_config() {
121121
# Do a temporary startup of the MariaDB server, for init purposes
122122
docker_temp_server_start() {
123123
"$@" --skip-networking --default-time-zone=SYSTEM --socket="${SOCKET}" --wsrep_on=OFF --skip-log-bin \
124-
--loose-innodb_buffer_pool_load_at_startup=0 --loose-innodb_buffer_pool_dump_at_shutdown=0 &
124+
--loose-innodb_buffer_pool_load_at_startup=0 &
125125
mysql_note "Waiting for server startup"
126126
# only use the root password if the database has already been initializaed
127127
# so that it won't try to fill in a password file when it hasn't been set yet
@@ -197,7 +197,10 @@ docker_init_database_dir() {
197197
installArgs+=( --skip-auth-anonymous-user )
198198
fi
199199
# "Other options are passed to mariadbd." (so we pass all "mysqld" arguments directly here)
200-
mariadb-install-db "${installArgs[@]}" "${@:2}" --default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin
200+
mariadb-install-db "${installArgs[@]}" "${@:2}" \
201+
--default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin \
202+
--loose-innodb_buffer_pool_load_at_startup=0 \
203+
--loose-innodb_buffer_pool_dump_at_shutdown=0
201204
_mariadb_fake_upgrade_info
202205
mysql_note "Database files initialized"
203206
}
@@ -367,7 +370,8 @@ docker_mariadb_upgrade() {
367370
return
368371
fi
369372
mysql_note "Starting temporary server"
370-
docker_temp_server_start "$@" --skip-grant-tables
373+
docker_temp_server_start "$@" --skip-grant-tables \
374+
--loose-innodb_buffer_pool_dump_at_shutdown=0
371375
local pid=$!
372376
mysql_note "Temporary server started."
373377

10.7/docker-entrypoint.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ mysql_get_config() {
121121
# Do a temporary startup of the MariaDB server, for init purposes
122122
docker_temp_server_start() {
123123
"$@" --skip-networking --default-time-zone=SYSTEM --socket="${SOCKET}" --wsrep_on=OFF --skip-log-bin \
124-
--loose-innodb_buffer_pool_load_at_startup=0 --loose-innodb_buffer_pool_dump_at_shutdown=0 &
124+
--loose-innodb_buffer_pool_load_at_startup=0 &
125125
mysql_note "Waiting for server startup"
126126
# only use the root password if the database has already been initializaed
127127
# so that it won't try to fill in a password file when it hasn't been set yet
@@ -197,7 +197,10 @@ docker_init_database_dir() {
197197
installArgs+=( --skip-auth-anonymous-user )
198198
fi
199199
# "Other options are passed to mariadbd." (so we pass all "mysqld" arguments directly here)
200-
mariadb-install-db "${installArgs[@]}" "${@:2}" --default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin
200+
mariadb-install-db "${installArgs[@]}" "${@:2}" \
201+
--default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin \
202+
--loose-innodb_buffer_pool_load_at_startup=0 \
203+
--loose-innodb_buffer_pool_dump_at_shutdown=0
201204
_mariadb_fake_upgrade_info
202205
mysql_note "Database files initialized"
203206
}
@@ -367,7 +370,8 @@ docker_mariadb_upgrade() {
367370
return
368371
fi
369372
mysql_note "Starting temporary server"
370-
docker_temp_server_start "$@" --skip-grant-tables
373+
docker_temp_server_start "$@" --skip-grant-tables \
374+
--loose-innodb_buffer_pool_dump_at_shutdown=0
371375
local pid=$!
372376
mysql_note "Temporary server started."
373377

10.8/docker-entrypoint.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ mysql_get_config() {
121121
# Do a temporary startup of the MariaDB server, for init purposes
122122
docker_temp_server_start() {
123123
"$@" --skip-networking --default-time-zone=SYSTEM --socket="${SOCKET}" --wsrep_on=OFF --skip-log-bin \
124-
--loose-innodb_buffer_pool_load_at_startup=0 --loose-innodb_buffer_pool_dump_at_shutdown=0 &
124+
--loose-innodb_buffer_pool_load_at_startup=0 &
125125
mysql_note "Waiting for server startup"
126126
# only use the root password if the database has already been initializaed
127127
# so that it won't try to fill in a password file when it hasn't been set yet
@@ -197,7 +197,10 @@ docker_init_database_dir() {
197197
installArgs+=( --skip-auth-anonymous-user )
198198
fi
199199
# "Other options are passed to mariadbd." (so we pass all "mysqld" arguments directly here)
200-
mariadb-install-db "${installArgs[@]}" "${@:2}" --default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin
200+
mariadb-install-db "${installArgs[@]}" "${@:2}" \
201+
--default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin \
202+
--loose-innodb_buffer_pool_load_at_startup=0 \
203+
--loose-innodb_buffer_pool_dump_at_shutdown=0
201204
_mariadb_fake_upgrade_info
202205
mysql_note "Database files initialized"
203206
}
@@ -367,7 +370,8 @@ docker_mariadb_upgrade() {
367370
return
368371
fi
369372
mysql_note "Starting temporary server"
370-
docker_temp_server_start "$@" --skip-grant-tables
373+
docker_temp_server_start "$@" --skip-grant-tables \
374+
--loose-innodb_buffer_pool_dump_at_shutdown=0
371375
local pid=$!
372376
mysql_note "Temporary server started."
373377

docker-entrypoint.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ mysql_get_config() {
121121
# Do a temporary startup of the MariaDB server, for init purposes
122122
docker_temp_server_start() {
123123
"$@" --skip-networking --default-time-zone=SYSTEM --socket="${SOCKET}" --wsrep_on=OFF --skip-log-bin \
124-
--loose-innodb_buffer_pool_load_at_startup=0 --loose-innodb_buffer_pool_dump_at_shutdown=0 &
124+
--loose-innodb_buffer_pool_load_at_startup=0 &
125125
mysql_note "Waiting for server startup"
126126
# only use the root password if the database has already been initializaed
127127
# so that it won't try to fill in a password file when it hasn't been set yet
@@ -197,7 +197,10 @@ docker_init_database_dir() {
197197
installArgs+=( --skip-auth-anonymous-user )
198198
fi
199199
# "Other options are passed to mysqld." (so we pass all "mysqld" arguments directly here)
200-
mysql_install_db "${installArgs[@]}" "${@:2}" --default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin
200+
mysql_install_db "${installArgs[@]}" "${@:2}" \
201+
--default-time-zone=SYSTEM --enforce-storage-engine= --skip-log-bin \
202+
--loose-innodb_buffer_pool_load_at_startup=0 \
203+
--loose-innodb_buffer_pool_dump_at_shutdown=0
201204
_mariadb_fake_upgrade_info
202205
mysql_note "Database files initialized"
203206
}
@@ -367,7 +370,8 @@ docker_mariadb_upgrade() {
367370
return
368371
fi
369372
mysql_note "Starting temporary server"
370-
docker_temp_server_start "$@" --skip-grant-tables
373+
docker_temp_server_start "$@" --skip-grant-tables \
374+
--loose-innodb_buffer_pool_dump_at_shutdown=0
371375
local pid=$!
372376
mysql_note "Temporary server started."
373377

0 commit comments

Comments
 (0)