mariadb/images/mariadb/root/entrypoint.d/20-mariadb-init.sh

37 lines
981 B
Bash
Executable File

#!/bin/sh
set -euo pipefail
mkdir -p /data/db
if [ -d /data/db/mysql ]; then
echo "MariaDB is already initialized"
else
echo "Bootstraping MariaDB"
mysql_install_db
MYSQL_DATABASE=${MYSQL_DATABASE:-""}
MYSQL_USER=${MYSQL_USER:-""}
MYSQL_PASSWORD=${MYSQL_PASSWORD:-""}
cat << EOF > /tmp/mariainit.sql
USE mysql;
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by '$MYSQL_ROOT_PASSWORD' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' identified by '$MYSQL_ROOT_PASSWORD' WITH GRANT OPTION;
DROP DATABASE test;
EOF
if [ "$MYSQL_DATABASE" != "" ]; then
echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` CHARACTER SET utf8 COLLATE utf8_general_ci;"
if [ "$MYSQL_USER" != "" ]; then
echo "GRANT ALL ON \`$MYSQL_DATABASE\`.* to '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD';"
fi
fi
mariadbd --bootstrap --verbose=0 --skip-name-resolve < /tmp/mariainit.sql
rm -f /tmp/mariainit.sql
fi