Enrico Boldori / Wiki

« Go back ⤓ Download

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};"