File: /home/frenchy/www/extracts/var/www/french-american.org/repo/docker/mariadb/docker-entrypoint.sh
#!/bin/bash
ls /var/lib/
set -eo pipefail
shopt -s nullglob
if [ ! -z ${IN_MEMORY+x} ]; then
echo "Enable Database In Memory"
mv /var/lib/mysql /dev/shm/
sed -i '/^datadir/d' /etc/mysql/mariadb.conf.d/50-server.cnf
sed -i '/\[mysqld\]/a datadir=/dev/shm/mysql' /etc/mysql/mariadb.conf.d/50-server.cnf
fi
mysqld &
pid="$!"
for i in {30..0}; do
if echo 'SELECT 1' | mysql &> /dev/null; then
break
fi
echo 'MySQL init process in progress...'
sleep 1
done
if [ "$i" = 0 ]; then
echo >&2 'MySQL init process failed'
exit 1
fi
if [ -z ${MYSQL_USER+x} ]; then
export MYSQL_USER=test
fi
if [ -z ${MYSQL_DATABASE+x} ]; then
export MYSQL_DATABASE="test"
fi
if [ -z ${MYSQL_PASSWORD+x} ]; then
export MYSQL_PASSWORD=test
fi
echo "Init user $MYSQL_USER and $MYSQL_DATABASE database and pass $MYSQL_PASSWORD"
mysql -uroot -e "CREATE DATABASE IF NOT EXISTS $MYSQL_DATABASE;"
mysql -uroot -e "CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD';" || true
mysql -uroot -e "GRANT ALL PRIVILEGES ON $MYSQL_DATABASE.* TO '$MYSQL_USER'@'%' WITH GRANT OPTION;"
mysql -uroot -e "FLUSH PRIVILEGES ;"
if ! kill -s TERM "$pid" || ! wait "$pid"; then
echo >&2 'MySQL init process failed.'
exit 1
fi
mysqld