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.
 

52 lines
2.1 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_ROOT_PASSWORD=''
MARIADB_CUSTOMER_NAME=''
MARIADB_CUSTOMER_PASSWORD=''
MARIADB_CUSTOMER_CHARSET=''
MARIADB_CUSTOMER_COLLATE=''
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 mysql -uroot -p$MARIADB_ROOT_PASSWORD
rm -f tmp
echo "Database '"$MARIADB_CUSTOMER_DBNAME"' with user '"$MARIADB_CUSTOMER_NAME"' created."
echo 'Done!'