#!/bin/sh directory="/data/mariadb" SQFILE="/SLQ" MYSQL_DATABASE=${MYSQL_DATABASE:-""} MYSQL_USER=${MYSQL_USER:-""} MYSQL_PASSWORD=${MYSQL_PASSWORD:-""} ROTPASD="abc123" if [ ! -d "/run/mysqld" ]; then mkdir -p /run/mysqld chown -R mysql:mysql /run/mysqld fi if [ -d /data/mariadb/mysql ]; then echo '[i] MySQL directory already present, skipping creation ! Direct start' /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf else echo "[i] create ${SQFILE}" cat << EOF > ${SQFILE} DELETE FROM mysql.user WHERE User=''; DELETE FROM mysql.db WHERE Db LIKE 'test%'; DROP DATABASE test; UPDATE mysql.user SET password = password('${ROTPASD}') WHERE user = 'root'; EOF echo "[i] MySQL data directory not found, creating initial DBs" echo 'Initializing database.......' mysql_install_db --user=mysql --datadir=${directory} > /dev/null if [ ${MYSQL_DATABASE} != "" ]; then echo "[i] Creating database: $MYSQL_DATABASE" echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` CHARACTER SET utf8 COLLATE utf8_general_ci;" >> ${SQFILE} if [ ${MYSQL_USER} != "" ]; then echo "[i] Creating user: $MYSQL_USER with password $MYSQL_PASSWORD" echo "GRANT ALL ON \`$MYSQL_DATABASE\`.* to '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD';" >> ${SQFILE} echo "flush privileges;" >> ${SQFILE} fi fi echo "[i] Initialize the root password ${ROTPASD} " echo "[i] run tempfile: ${SQFILE}" # /usr/bin/mysqld --user=mysql --bootstrap --verbose=0 < ${SQFILE} /usr/bin/mysqld --init-file=${SQFILE} --user=mysql --verbose=0 fi echo "[i] Sleeping 5 sec" sleep 5 rm -f ${SQFILE} echo '[i] start running mysqld' #exec /usr/bin/mysqld --user=mysql --console exec /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf