fuel-ccp-mariadb/service/files/mariadb-bootstrap.sh.j2

38 lines
1.3 KiB
Django/Jinja

#!/bin/bash -e
function bootstrap_db {
mysqld_safe --wsrep-new-cluster &
echo "Wait for the mariadb server to be ready before starting the security reset"
TIMEOUT=${DB_MAX_TIMEOUT:-60}
while [[ ! -f /var/lib/mysql/mariadb.pid ]]; do
if [[ ${TIMEOUT} -gt 0 ]]; then
let TIMEOUT-=1
sleep 1
else
echo "Mariadb failed to start. Waited for $DB_MAX_TIMEOUT seconds."
exit 1
fi
done
echo "Running a mysql_security_reset"
sudo -E /opt/ccp/bin/mariadb-security-reset.expect ${DB_ROOT_PASSWORD}
echo "Running mysql grant privileges commands"
mysql -u root --password="${DB_ROOT_PASSWORD}" -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '${DB_ROOT_PASSWORD}' WITH GRANT OPTION;"
mysql -u root --password="${DB_ROOT_PASSWORD}" -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '${DB_ROOT_PASSWORD}' WITH GRANT OPTION;"
echo "Shuting down mariadb"
mysqladmin -uroot -p"${DB_ROOT_PASSWORD}" shutdown
wait $(jobs -p)
}
DB_ROOT_PASSWORD="{{ db.root_password }}"
DB_MAX_TIMEOUT="{{ db.max_timeout }}"
# Only update permissions if permissions need to be updated
if [[ $(stat -c %U:%G /var/lib/mysql) != "mysql:mysql" ]]; then
sudo chown mysql: /var/lib/mysql
fi
# Bootstrap
mysql_install_db
bootstrap_db
touch /tmp/mariadb_ok