Linux - MySQL - Create database with user.sh
#!/bin/bash
#
# ------------------------------------------------------------
# Author: Enrico Boldori
# Description: MySQL database and user creation script
#
# Script function:
# This script helps in creating a database with its associated
# user, with a reasonable set of permissions.
# ------------------------------------------------------------
#!/bin/bash
# Script per creare automaticamente un database con l'utente associato
if [ $# -ne 2 ]
then
echo "Utilizzo: $0 database_name username"
exit 1
fi
DATABASE="$1"
USERNAME="$2"
read -s -p "Inserisci la password per l'utente ${USERNAME}: " PASSWORD
echo
if [ -z ${PASSWORD} ]
then
echo "Password vuota non concessa.";
exit 1
fi
# Definizione delle query
DATABASE_QUERY="CREATE DATABASE ${DATABASE} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
USER_QUERY="CREATE USER '${USERNAME}'@'localhost' IDENTIFIED BY '${PASSWORD}';"
PERM_QUERY="GRANT ALL PRIVILEGES ON ${DATABASE}.* TO '${USERNAME}'@'localhost';"
# Esecuzione delle query
/usr/bin/mysql -u root -p -e "${DATABASE_QUERY};${USER_QUERY};${PERM_QUERY};"