You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

54 lines
2.2 KiB

#!/bin/bash
echo "####################################################################"
echo "# docker_mariadb_create_customer_script #"
echo "# Dennis Buchhorn - bucde@b-eit.de #"
echo "####################################################################"
echo "# WARNING: password is plain text! #"
#echo "# #"
echo "####################################################################"
echo ""
MARIADB_CONTAINER_NAME=""
MARIADB_ROOT_PASSWORD=""
MARIADB_CUSTOMER_NAME=""
MARIADB_CUSTOMER_PASSWORD=""
MARIADB_CUSTOMER_CHARSET=""
MARIADB_CUSTOMER_COLLATE=""
read -p "Enter mariadb container name: " MARIADB_CONTAINER_NAME
read -p "Enter mariadb root password: " MARIADB_ROOT_PASSWORD
read -p "Enter customer name: " MARIADB_CUSTOMER_NAME
read -p "Enter customer password: " MARIADB_CUSTOMER_PASSWORD
read -p "Enter character set (leave empty for default): " MARIADB_CUSTOMER_CHARSET
read -p "Enter collate (leave empty for default): " MARIADB_CUSTOMER_COLLATE
MARIADB_CUSTOMER_DBNAME="${MARIADB_CUSTOMER_NAME}db"
rm -f tmp
touch tmp
echo "CREATE USER '"$MARIADB_CUSTOMER_NAME"'@'%' IDENTIFIED BY '"$MARIADB_CUSTOMER_PASSWORD"';" >> tmp
if [ -z "$MARIADB_CUSTOMER_CHARSET" ]; then
if [ -z "$MARIADB_CUSTOMER_COLLATE" ]; then
echo "CREATE DATABASE '"$MARIADB_CUSTOMER_DBNAME"';" >> tmp
else
echo "CREATE DATABASE '"$MARIADB_CUSTOMER_DBNAME"' COLLATE '"$MARIADB_CUSTOMER_COLLATE"';" >> tmp
fi
else
if [ -z "$MARIADB_CUSTOMER_COLLATE" ]; then
echo "CREATE DATABASE '"$MARIADB_CUSTOMER_DBNAME"' CHARACTER SET '"$MARIADB_CUSTOMER_CHARSET"';" >> tmp
else
echo "CREATE DATABASE '"$MARIADB_CUSTOMER_DBNAME"' CHARACTER SET '"$MARIADB_CUSTOMER_CHARSET"' COLLATE '"$MARIADB_CUSTOMER_COLLATE"';" >> tmp
fi
fi
echo "GRANT ALL PRIVILEGES ON "$MARIADB_CUSTOMER_DBNAME".* To '"$MARIADB_CUSTOMER_NAME"'@'%' IDENTIFIED BY '"$MARIADB_CUSTOMER_PASSWORD"';" >> tmp
echo "FLUSH PRIVILEGES;" >> tmp
cat tmp | docker exec -i $MARIADB_CONTAINER_NAME mysql -uroot -p$MARIADB_ROOT_PASSWORD
rm -f tmp
echo "Database '"$MARIADB_CUSTOMER_DBNAME"' with user '"$MARIADB_CUSTOMER_NAME"' created."
echo "Done!"