37 lines
1.1 KiB
Bash
Executable File
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
|