Skip to content

Commit ae647b4

Browse files
committed
Various fixes.
* Removed unnecessary folder check * Specify pid-file for 5.5 instead of using hostname * Change server shutdown check to be more reliable (socket is closed before all resources are released, which could lead to issues)
1 parent b141456 commit ae647b4

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

5.5/docker-entrypoint.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,23 @@ if [ "$1" = 'mysqld' ]; then
2020
DATADIR="$("$@" --verbose --help 2>/dev/null | awk '$1 == "datadir" { print $2; exit }')"
2121
SOCKET=$(get_option mysqld socket "/tmp/mysql.sock")
2222
HOSTNAME=$(hostname)
23-
PIDFILE=$(get_option mysqld pid-file "$DATADIR/$HOSTNAME.pid")
23+
PIDFILE=$(get_option mysqld pid-file "$DATADIR/mysqld.pid")
2424

2525
if [ ! -d "$DATADIR/mysql" ]; then
2626
if [ -z "$MYSQL_ROOT_PASSWORD" -a -z "$MYSQL_ALLOW_EMPTY_PASSWORD" ]; then
2727
echo >&2 'error: database is uninitialized and MYSQL_ROOT_PASSWORD not set'
2828
echo >&2 ' Did you forget to add -e MYSQL_ROOT_PASSWORD=... ?'
2929
exit 1
3030
fi
31+
3132
mkdir -p "$DATADIR"
3233
chown -R mysql:mysql "$DATADIR"
3334

3435
echo 'Running mysql_install_db'
3536
mysql_install_db --user=mysql --datadir="$DATADIR" --rpm --basedir=/usr/local/mysql
3637
echo 'Finished mysql_install_db'
3738

38-
mysqld --user=mysql --datadir="$DATADIR" --skip-networking --basedir=/usr/local/mysql &
39+
mysqld --user=mysql --datadir="$DATADIR" --skip-networking --basedir=/usr/local/mysql --pid-file="$PIDFILE" &
3940
for i in $(seq 30 -1 0); do
4041
[ -S "$SOCKET" ] && break
4142
echo 'MySQL init process in progress...'
@@ -63,7 +64,7 @@ if [ "$1" = 'mysqld' ]; then
6364
EOSQL
6465

6566
if [ "$MYSQL_DATABASE" ]; then
66-
echo "CREATE DATABASE IF NOT EXISTS \`"$MYSQL_DATABASE"\` ;" >> "$tempSqlFile"
67+
echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` ;" >> "$tempSqlFile"
6768
fi
6869

6970
if [ "$MYSQL_USER" -a "$MYSQL_PASSWORD" ]; then
@@ -81,7 +82,7 @@ if [ "$1" = 'mysqld' ]; then
8182
rm -f "$tempSqlFile"
8283
kill $(cat $PIDFILE)
8384
for i in $(seq 30 -1 0); do
84-
[ -S $SOCKET ] || break
85+
[ -f "$PIDFILE" ] || break
8586
echo 'MySQL init process in progress...'
8687
sleep 1
8788
done

5.6/docker-entrypoint.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ if [ "$1" = 'mysqld' ]; then
2727
echo >&2 ' Did you forget to add -e MYSQL_ROOT_PASSWORD=... ?'
2828
exit 1
2929
fi
30+
3031
mkdir -p "$DATADIR"
3132
chown -R mysql:mysql "$DATADIR"
3233

@@ -62,7 +63,7 @@ if [ "$1" = 'mysqld' ]; then
6263
EOSQL
6364

6465
if [ "$MYSQL_DATABASE" ]; then
65-
echo "CREATE DATABASE IF NOT EXISTS \`"$MYSQL_DATABASE"\` ;" >> "$tempSqlFile"
66+
echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` ;" >> "$tempSqlFile"
6667
fi
6768

6869
if [ "$MYSQL_USER" -a "$MYSQL_PASSWORD" ]; then
@@ -80,7 +81,7 @@ if [ "$1" = 'mysqld' ]; then
8081
rm -f "$tempSqlFile"
8182
kill $(cat $PIDFILE)
8283
for i in $(seq 30 -1 0); do
83-
[ -S $SOCKET ] || break
84+
[ -f "$PIDFILE" ] || break
8485
echo 'MySQL init process in progress...'
8586
sleep 1
8687
done

5.7/docker-entrypoint.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ if [ "$1" = 'mysqld' ]; then
3030

3131
mkdir -p "$DATADIR"
3232
chown -R mysql:mysql "$DATADIR"
33+
3334
echo 'Initializing database'
3435
mysqld --initialize-insecure=on --datadir="$DATADIR"
3536
echo 'Database initialized'
@@ -66,7 +67,7 @@ if [ "$1" = 'mysqld' ]; then
6667
EOSQL
6768

6869
if [ "$MYSQL_DATABASE" ]; then
69-
echo "CREATE DATABASE IF NOT EXISTS \`"$MYSQL_DATABASE"\` ;" >> "$tempSqlFile"
70+
echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` ;" >> "$tempSqlFile"
7071
fi
7172

7273
if [ "$MYSQL_USER" -a "$MYSQL_PASSWORD" ]; then
@@ -83,7 +84,7 @@ if [ "$1" = 'mysqld' ]; then
8384
rm -f "$tempSqlFile"
8485
kill $(cat $PIDFILE)
8586
for i in $(seq 30 -1 0); do
86-
[ -S $SOCKET ] || break
87+
[ -f "$PIDFILE" ] || break
8788
echo 'MySQL init process in progress...'
8889
sleep 1
8990
done

0 commit comments

Comments
 (0)