@@ -3,18 +3,18 @@ set -eo pipefail
3
3
shopt -s nullglob
4
4
5
5
# logging functions
6
- docker_log () {
6
+ mysql_log () {
7
7
local type=$1 ; shift
8
8
printf " $( date --rfc-3339=seconds) [${type} ] [Entrypoint]: $@ \n"
9
9
}
10
- docker_note () {
11
- docker_log Note " $@ "
10
+ mysql_note () {
11
+ mysql_log Note " $@ "
12
12
}
13
- docker_warn () {
14
- docker_log Warn " $@ " >&2
13
+ mysql_warn () {
14
+ mysql_log Warn " $@ " >&2
15
15
}
16
- docker_error () {
17
- docker_log ERROR " $@ " >&2
16
+ mysql_error () {
17
+ mysql_log ERROR " $@ " >&2
18
18
exit 1
19
19
}
20
20
@@ -43,7 +43,7 @@ file_env() {
43
43
local fileVar=" ${var} _FILE"
44
44
local def=" ${2:- } "
45
45
if [ " ${! var:- } " ] && [ " ${! fileVar:- } " ]; then
46
- docker_error " Both $var and $fileVar are set (but are exclusive)"
46
+ mysql_error " Both $var and $fileVar are set (but are exclusive)"
47
47
fi
48
48
local val=" $def "
49
49
if [ " ${! var:- } " ]; then
@@ -65,18 +65,18 @@ docker_process_init_files() {
65
65
local mysql=( " $@ " )
66
66
67
67
case " $f " in
68
- * .sh) docker_note " $0 : running $f " ; . " $f " ;;
69
- * .sql) docker_note " $0 : running $f " ; " ${mysql[@]} " < " $f " ; echo ;;
70
- * .sql.gz) docker_note " $0 : running $f " ; gunzip -c " $f " | " ${mysql[@]} " ; echo ;;
71
- * ) docker_warn " $0 : ignoring $f " ;;
68
+ * .sh) mysql_note " $0 : running $f " ; . " $f " ;;
69
+ * .sql) mysql_note " $0 : running $f " ; " ${mysql[@]} " < " $f " ; echo ;;
70
+ * .sql.gz) mysql_note " $0 : running $f " ; gunzip -c " $f " | " ${mysql[@]} " ; echo ;;
71
+ * ) mysql_warn " $0 : ignoring $f " ;;
72
72
esac
73
73
echo
74
74
}
75
75
76
76
mysql_check_config () {
77
77
toRun=( " $@ " --verbose --help )
78
78
if ! errors=" $( " ${toRun[@]} " 2>&1 > /dev/null) " ; then
79
- docker_error " mysqld failed while attempting to check config\n\tcommand was: ${toRun[*]} \n\t$errors "
79
+ mysql_error " mysqld failed while attempting to check config\n\tcommand was: ${toRun[*]} \n\t$errors "
80
80
fi
81
81
}
82
82
@@ -95,7 +95,7 @@ docker_start_server() {
95
95
result=0
96
96
%%SERVERSTARTUP%%
97
97
if [ " $result " != " 0" ]; then
98
- docker_error " Unable to start server. Status code $result ."
98
+ mysql_error " Unable to start server. Status code $result ."
99
99
fi
100
100
}
101
101
@@ -110,7 +110,7 @@ docker_wait_for_server() {
110
110
sleep 1
111
111
done
112
112
if [ " $i " = 0 ]; then
113
- docker_error " Unable to start server."
113
+ mysql_error " Unable to start server."
114
114
fi
115
115
}
116
116
@@ -120,30 +120,30 @@ docker_stop_server() {
120
120
result=0
121
121
mysqladmin --defaults-extra-file=" ${PASSFILE} " shutdown -uroot --socket=" ${SOCKET} " || result=$?
122
122
if [ " $result " != " 0" ]; then
123
- docker_error " Unable to shut down server. Status code $result ."
123
+ mysql_error " Unable to shut down server. Status code $result ."
124
124
fi
125
125
}
126
126
127
127
# Verify that the minimally required password settings are set for new databases.
128
128
docker_verify_minimum_env () {
129
129
if [ -z " $MYSQL_ROOT_PASSWORD " -a -z " $MYSQL_ALLOW_EMPTY_PASSWORD " -a -z " $MYSQL_RANDOM_ROOT_PASSWORD " ]; then
130
- docker_error " Database is uninitialized and password option is not specified \n\tYou need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD"
130
+ mysql_error " Database is uninitialized and password option is not specified \n\tYou need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD"
131
131
fi
132
132
}
133
133
134
134
# Creates and initializes the database directory
135
135
docker_init_database_dir () {
136
136
mkdir -p " $DATADIR "
137
137
138
- docker_note " Initializing database files"
138
+ mysql_note " Initializing database files"
139
139
%%DATABASEINIT%%
140
- docker_note " Database files initialized"
140
+ mysql_note " Database files initialized"
141
141
142
142
if command -v mysql_ssl_rsa_setup > /dev/null && [ ! -e " $DATADIR /server-key.pem" ]; then
143
143
# https://github.com/mysql/mysql-server/blob/23032807537d8dd8ee4ec1c4d40f0633cd4e12f9/packaging/deb-in/extra/mysql-systemd-start#L81-L84
144
- docker_note " Initializing certificates"
144
+ mysql_note " Initializing certificates"
145
145
mysql_ssl_rsa_setup --datadir=" $DATADIR "
146
- docker_note " Certificates initialized"
146
+ mysql_note " Certificates initialized"
147
147
fi
148
148
}
149
149
@@ -210,13 +210,13 @@ docker_init_root_user() {
210
210
# Creates a custom database and user if specified
211
211
docker_init_database_user () {
212
212
if [ " $MYSQL_DATABASE " ]; then
213
- docker_note " Creating database ${MYSQL_DATABASE} "
213
+ mysql_note " Creating database ${MYSQL_DATABASE} "
214
214
echo " CREATE DATABASE IF NOT EXISTS \` $MYSQL_DATABASE \` ;" | " ${mysql[@]} "
215
215
mysql+=( " $MYSQL_DATABASE " )
216
216
fi
217
217
218
218
if [ " $MYSQL_USER " -a " $MYSQL_PASSWORD " ]; then
219
- docker_note " Creating user ${MYSQL_USER} "
219
+ mysql_note " Creating user ${MYSQL_USER} "
220
220
echo " CREATE USER '$MYSQL_USER '@'%' IDENTIFIED BY '$MYSQL_PASSWORD ' ;" | " ${mysql[@]} "
221
221
222
222
if [ " $MYSQL_DATABASE " ]; then
@@ -231,7 +231,7 @@ docker_init_database_user() {
231
231
# else can be done (only supported for 5.6+)
232
232
docker_expire_root_user () {
233
233
if [ " ${MYSQL_MAJOR} " = " 5.5" ]; then
234
- _warn " MySQL 5.5 does not support PASSWORD EXPIRE (required for MYSQL_ONETIME_PASSWORD)"
234
+ mysql_warn " MySQL 5.5 does not support PASSWORD EXPIRE (required for MYSQL_ONETIME_PASSWORD)"
235
235
else
236
236
" ${mysql[@]} " << -EOSQL
237
237
ALTER USER 'root'@'%' PASSWORD EXPIRE;
@@ -242,7 +242,7 @@ docker_expire_root_user() {
242
242
# Generate a random root password
243
243
docker_generate_root_password () {
244
244
export MYSQL_ROOT_PASSWORD=" $( pwgen -1 32) "
245
- docker_note " GENERATED ROOT PASSWORD: $MYSQL_ROOT_PASSWORD "
245
+ mysql_note " GENERATED ROOT PASSWORD: $MYSQL_ROOT_PASSWORD "
246
246
}
247
247
248
248
# Load timezone info into database
@@ -252,7 +252,7 @@ docker_load_tzinfo() {
252
252
}
253
253
254
254
docker_main () {
255
- docker_note " Entrypoint script for MySQL Server ${MYSQL_VERSION} started."
255
+ mysql_note " Entrypoint script for MySQL Server ${MYSQL_VERSION} started."
256
256
257
257
if [ " $1 " = ' mysqld' -a -z " $wantHelp " ]; then
258
258
# Load various environment variables
@@ -263,7 +263,7 @@ docker_main() {
263
263
mysql_check_config " $@ "
264
264
mkdir -p " $DATADIR "
265
265
chown -R mysql:mysql " $DATADIR "
266
- docker_note " Switching to dedicated user 'mysql'"
266
+ mysql_note " Switching to dedicated user 'mysql'"
267
267
exec gosu mysql " $BASH_SOURCE " " $@ "
268
268
fi
269
269
@@ -276,14 +276,14 @@ docker_main() {
276
276
docker_init_database_dir " $@ "
277
277
docker_init_client_command
278
278
279
- docker_note " Starting temporary server"
279
+ mysql_note " Starting temporary server"
280
280
docker_start_server " $@ "
281
281
# For 5.7+ the server is ready for use as soon as startup command unblocks
282
282
if [ " ${MYSQL_MAJOR} " = " 5.5" ] || [ " ${MYSQL_MAJOR} " = " 5.6" ]; then
283
- docker_note " Waiting for server startup"
283
+ mysql_note " Waiting for server startup"
284
284
docker_wait_for_server " ${mysql[@]} "
285
285
fi
286
- docker_note " Temporary server started."
286
+ mysql_note " Temporary server started."
287
287
288
288
289
289
if [ -z " $MYSQL_INITDB_SKIP_TZINFO " ]; then
@@ -308,15 +308,15 @@ docker_main() {
308
308
if [ ! -z " $MYSQL_ONETIME_PASSWORD " ]; then
309
309
docker_expire_root_user
310
310
fi
311
- docker_note " Stopping temporary server"
311
+ mysql_note " Stopping temporary server"
312
312
docker_stop_server
313
- docker_note " Temporary server stopped"
313
+ mysql_note " Temporary server stopped"
314
314
315
315
# Remove the password file now that initialization is complete
316
316
rm -f " ${PASSFILE} "
317
317
unset PASSFILE
318
318
echo
319
- docker_note " MySQL init process done. Ready for start up."
319
+ mysql_note " MySQL init process done. Ready for start up."
320
320
echo
321
321
fi
322
322
fi
0 commit comments