Add docker-mysql
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
39
packages/docker/mysql/entrypoint.sh
Normal file
39
packages/docker/mysql/entrypoint.sh
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
|
||||
MYSQL_USER="${MYSQL_USER:-mysql}"
|
||||
MYSQL_PASSWORD="${MYSQL_PASSWORD:-mysql}"
|
||||
MYSQL_ROOT_PASSWORD="${MYSQL_ROOT_PASSWORD:-$MYSQL_PASSWORD}"
|
||||
MYSQL_DB="${MYSQL_DB}"
|
||||
DATADIR="${DATADIR:-/var/lib/mysql}"
|
||||
|
||||
if [ ! -f "$DATADIR/mysql_upgrade_history" ]; then
|
||||
mysqld --initialize-insecure --datadir="$DATADIR"
|
||||
|
||||
mysqld --user=root --datadir="$DATADIR" --skip-networking --skip-grant-tables &
|
||||
PID="$!"
|
||||
|
||||
while ! mysql --protocol=socket -e "
|
||||
FLUSH PRIVILEGES;
|
||||
|
||||
ALTER USER 'root'@'localhost' IDENTIFIED BY '$MYSQL_ROOT_PASSWORD';
|
||||
|
||||
CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD';
|
||||
GRANT ALL PRIVILEGES ON *.* TO '$MYSQL_USER'@'%' WITH GRANT OPTION;
|
||||
|
||||
CREATE DATABASE \`$MYSQL_DB\`;
|
||||
"; do
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
kill -QUIT "$PID"
|
||||
wait "$PID" || true
|
||||
fi
|
||||
|
||||
trap 'kill -QUIT "$PID"' INT TERM
|
||||
mysqld --user=root --datadir="$DATADIR" "$@" &
|
||||
PID=$!
|
||||
wait "$PID"
|
||||
exit $?
|
Reference in New Issue
Block a user