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

  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_ROOT_PASSWORD=''
  11. MARIADB_CUSTOMER_NAME=''
  12. MARIADB_CUSTOMER_PASSWORD=''
  13. MARIADB_CUSTOMER_CHARSET=''
  14. MARIADB_CUSTOMER_COLLATE=''
  15. read -p 'Enter mariadb root password: ' MARIADB_ROOT_PASSWORD
  16. read -p 'Enter customer name: ' MARIADB_CUSTOMER_NAME
  17. read -p 'Enter customer password: ' MARIADB_CUSTOMER_PASSWORD
  18. read -p 'Enter character set (leave empty for default): ' MARIADB_CUSTOMER_CHARSET
  19. read -p 'Enter collate (leave empty for default): ' MARIADB_CUSTOMER_COLLATE
  20. MARIADB_CUSTOMER_DBNAME="${MARIADB_CUSTOMER_NAME}db"
  21. rm -f tmp
  22. touch tmp
  23. echo "CREATE USER '"$MARIADB_CUSTOMER_NAME"'@'%' IDENTIFIED BY '"$MARIADB_CUSTOMER_PASSWORD"';" >> tmp
  24. if [ -z "$MARIADB_CUSTOMER_CHARSET" ]; then
  25. if [ -z "$MARIADB_CUSTOMER_COLLATE" ]; then
  26. echo "CREATE DATABASE "$MARIADB_CUSTOMER_DBNAME";" >> tmp
  27. else
  28. echo "CREATE DATABASE "$MARIADB_CUSTOMER_DBNAME" COLLATE "$MARIADB_CUSTOMER_COLLATE";" >> tmp
  29. fi
  30. else
  31. if [ -z "$MARIADB_CUSTOMER_COLLATE" ]; then
  32. echo "CREATE DATABASE "$MARIADB_CUSTOMER_DBNAME" CHARACTER SET "$MARIADB_CUSTOMER_CHARSET";" >> tmp
  33. else
  34. echo "CREATE DATABASE "$MARIADB_CUSTOMER_DBNAME" CHARACTER SET "$MARIADB_CUSTOMER_CHARSET" COLLATE "$MARIADB_CUSTOMER_COLLATE";" >> tmp
  35. fi
  36. fi
  37. echo "GRANT ALL PRIVILEGES ON "$MARIADB_CUSTOMER_DBNAME".* To '"$MARIADB_CUSTOMER_NAME"'@'%' IDENTIFIED BY '"$MARIADB_CUSTOMER_PASSWORD"';" >> tmp
  38. echo "FLUSH PRIVILEGES;" >> tmp
  39. cat tmp | docker exec -i mariadb mysql -uroot -p$MARIADB_ROOT_PASSWORD
  40. rm -f tmp
  41. echo "Database '"$MARIADB_CUSTOMER_DBNAME"' with user '"$MARIADB_CUSTOMER_NAME"' created."
  42. echo 'Done!'