diff --git a/mariadb/centos7/docker-entrypoint.sh b/mariadb/centos7/docker-entrypoint.sh index 3a60abd3..f2323965 100755 --- a/mariadb/centos7/docker-entrypoint.sh +++ b/mariadb/centos7/docker-entrypoint.sh @@ -9,8 +9,8 @@ if [ "$1" = 'mysqld_safe' ]; then DATADIR="/var/lib/mysql" if [ ! -d "$DATADIR/mysql" ]; then - if [ -z "$MYSQL_ROOT_PASSWORD" -a -z "$MYSQL_ALLOW_EMPTY_PASSWORD" ]; then - echo >&2 'error: database is uninitialized and MYSQL_ROOT_PASSWORD not set' + if [ -z "$MYSQL_ROOT_PASSWORD" -a -z "$MYSQL_ALLOW_EMPTY_PASSWORD" -a -z "$MARIADB_ROOT_PASSWORD" -a -z "$MARIADB_ALLOW_EMPTY_PASSWORD" ]; then + echo >&2 'error: database is uninitialized and MYSQL_ROOT_PASSWORD/MARIADB_ROOT_PASSWORD not set' echo >&2 ' Did you forget to add -e MYSQL_ROOT_PASSWORD=... ?' exit 1 fi @@ -24,29 +24,35 @@ if [ "$1" = 'mysqld_safe' ]; then # TODO proper SQL escaping on ALL the things D: tempSqlFile='/tmp/mysql-first-time.sql' + ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:=${MARIADB_ROOT_PASSWORD}} cat > "$tempSqlFile" <<-EOSQL DELETE FROM mysql.user ; - CREATE USER 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' ; + CREATE USER 'root'@'%' IDENTIFIED BY '${ROOT_PASSWORD}' ; GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION ; DROP DATABASE IF EXISTS test ; EOSQL - if [ "$MYSQL_DATABASE" ]; then - echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` ;" >> "$tempSqlFile" - if [ "$MYSQL_CHARSET" ]; then - echo "ALTER DATABASE \`$MYSQL_DATABASE\` CHARACTER SET \`$MYSQL_CHARSET\` ;" >> "$tempSqlFile" + DATABASE=${MYSQL_DATABASE:=${MARIADB_DATABASE}} + CHARSET=${MYSQL_CHARSET:=${MARIADB_CHARSET}} + COLLATION=${MYSQL_COLLATION:=${MARIADB_COLLATION}} + DB_USER=${MYSQL_USER:=${MARIADB_USER}} + DB_PASSWORD=${MYSQL_PASSWORD:=${MARIADB_PASSWORD}} + if [ "$DATABASE" ]; then + echo "CREATE DATABASE IF NOT EXISTS \`$DATABASE\` ;" >> "$tempSqlFile" + if [ "$CHARSET" ]; then + echo "ALTER DATABASE \`$DATABASE\` CHARACTER SET \`$CHARSET\` ;" >> "$tempSqlFile" fi - if [ "$MYSQL_COLLATION" ]; then - echo "ALTER DATABASE \`$MYSQL_DATABASE\` COLLATE \`$MYSQL_COLLATION\` ;" >> "$tempSqlFile" + if [ "$COLLATION" ]; then + echo "ALTER DATABASE \`$DATABASE\` COLLATE \`$COLLATION\` ;" >> "$tempSqlFile" fi fi - if [ "$MYSQL_USER" -a "$MYSQL_PASSWORD" ]; then - echo "CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD' ;" >> "$tempSqlFile" + if [ "$DB_USER" -a "$DB_PASSWORD" ]; then + echo "CREATE USER '$DB_USER'@'%' IDENTIFIED BY '$DB_PASSWORD' ;" >> "$tempSqlFile" - if [ "$MYSQL_DATABASE" ]; then - echo "GRANT ALL ON \`$MYSQL_DATABASE\`.* TO '$MYSQL_USER'@'%' ;" >> "$tempSqlFile" + if [ "$DATABASE" ]; then + echo "GRANT ALL ON \`$DATABASE\`.* TO '$DB_USER'@'%' ;" >> "$tempSqlFile" fi fi