Files
2026-08-26 10:56:37 +02:00

37 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -e
unset MYSQL_HOST
mkdir -p /run/mysqld
chown -R mysql:mysql /run/mysqld /var/lib/mysql
DB_ROOT_PASSWORD=$(cat /run/secrets/db_root_password)
DB_PASSWORD=$(cat /run/secrets/db_password)
if [ ! -f "/var/lib/mysql/.inception_initialized" ]; then
mariadb-install-db --user=mysql --datadir=/var/lib/mysql > /dev/null
mariadbd --user=mysql --skip-networking --socket=/run/mysqld/mysqld.sock &
pid="$!"
until mariadb-admin --socket=/run/mysqld/mysqld.sock --silent ping 2>/dev/null; do
sleep 1
done
mariadb --socket=/run/mysqld/mysqld.sock -u root <<-EOSQL
CREATE DATABASE IF NOT EXISTS \`${MYSQL_DATABASE}\`;
CREATE USER IF NOT EXISTS '${MYSQL_USER}'@'%' IDENTIFIED BY '${DB_PASSWORD}';
GRANT ALL PRIVILEGES ON \`${MYSQL_DATABASE}\`.* TO '${MYSQL_USER}'@'%';
ALTER USER 'root'@'localhost' IDENTIFIED BY '${DB_ROOT_PASSWORD}';
FLUSH PRIVILEGES;
EOSQL
mariadb-admin --socket=/run/mysqld/mysqld.sock -u root -p"${DB_ROOT_PASSWORD}" shutdown
wait "$pid"
touch /var/lib/mysql/.inception_initialized
fi
exec mariadbd --user=mysql