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

  1. #!/bin/bash
  2. echo "####################################################################"
  3. echo "# docker_mariadb_create_customer_script #"
  4. echo "# Dennis Buchhorn - bucde@b-eit.de #"
  5. echo "####################################################################"
  6. echo "# WARNING: password is plain text! #"
  7. #echo "# #"
  8. echo "####################################################################"
  9. echo ""
  10. MARIADB_CONTAINER_NAME=""
  11. MARIADB_ROOT_PASSWORD=""
  12. MARIADB_CUSTOMER_NAME=""
  13. MARIADB_CUSTOMER_PASSWORD=""
  14. MARIADB_CUSTOMER_CHARSET=""
  15. MARIADB_CUSTOMER_COLLATE=""
  16. read -p "Enter mariadb container name: " MARIADB_CONTAINER_NAME
  17. read -p "Enter mariadb root password: " MARIADB_ROOT_PASSWORD
  18. read -p "Enter customer name: " MARIADB_CUSTOMER_NAME
  19. read -p "Enter customer password: " MARIADB_CUSTOMER_PASSWORD
  20. read -p "Enter character set (leave empty for default): " MARIADB_CUSTOMER_CHARSET
  21. read -p "Enter collate (leave empty for default): " MARIADB_CUSTOMER_COLLATE
  22. MARIADB_CUSTOMER_DBNAME="${MARIADB_CUSTOMER_NAME}db"
  23. rm -f tmp
  24. touch tmp
  25. echo "CREATE USER '"$MARIADB_CUSTOMER_NAME"'@'%' IDENTIFIED BY '"$MARIADB_CUSTOMER_PASSWORD"';" >> tmp
  26. if [ -z "$MARIADB_CUSTOMER_CHARSET" ]; then
  27. if [ -z "$MARIADB_CUSTOMER_COLLATE" ]; then
  28. echo "CREATE DATABASE "$MARIADB_CUSTOMER_DBNAME";" >> tmp
  29. else
  30. echo "CREATE DATABASE "$MARIADB_CUSTOMER_DBNAME" COLLATE '"$MARIADB_CUSTOMER_COLLATE"';" >> tmp
  31. fi
  32. else
  33. if [ -z "$MARIADB_CUSTOMER_COLLATE" ]; then
  34. echo "CREATE DATABASE "$MARIADB_CUSTOMER_DBNAME" CHARACTER SET '"$MARIADB_CUSTOMER_CHARSET"';" >> tmp
  35. else
  36. echo "CREATE DATABASE "$MARIADB_CUSTOMER_DBNAME" CHARACTER SET '"$MARIADB_CUSTOMER_CHARSET"' COLLATE '"$MARIADB_CUSTOMER_COLLATE"';" >> tmp
  37. fi
  38. fi
  39. echo "GRANT ALL PRIVILEGES ON "$MARIADB_CUSTOMER_DBNAME".* To '"$MARIADB_CUSTOMER_NAME"'@'%' IDENTIFIED BY '"$MARIADB_CUSTOMER_PASSWORD"';" >> tmp
  40. echo "FLUSH PRIVILEGES;" >> tmp
  41. cat tmp | docker exec -i $MARIADB_CONTAINER_NAME mysql -uroot -p$MARIADB_ROOT_PASSWORD
  42. rm -f tmp
  43. echo "Database '"$MARIADB_CUSTOMER_DBNAME"' with user '"$MARIADB_CUSTOMER_NAME"' created."
  44. echo "Done!"