Files
marshal/commands/db/db-init.sh
2019-10-30 00:16:17 -06:00

35 lines
1.1 KiB
Bash

if [ "$1" == "-h" ]; then
echo "Usage:"
echo " ./db-setup.sh <rootPassword> <main-db-user> <main-db-user-password>"
echo " or"
echo " ./db-setup.sh"
exit 0
fi
if [ -z "$1" ] && [ -z "$2" ] && [ -z "$3" ]; then
read -sp "Set root password: " rootPassword
read -sp $'\n'"Confirm root password: " confirmPassword
read -p $'\n'"Main Username: " MAINDB
read -sp "Main user's password: " PASSWDDB
else
rootPassword="$1"
confirmPassword="$1"
MAINDB="$2"
PASSWDDB="$3"
fi
# Adapted from https://stackoverflow.com/questions/33470753/create-mysql-database-and-user-in-bash-script
# create random password
#PASSWDDB="$(openssl rand -base64 12)"
# replace "-" with "_" for database username
#MAINDB=${USER_NAME//[^a-zA-Z0-9]/_}
mysql -uroot -p${rootPassword} -e "CREATE DATABASE ${MAINDB} /*\!40100 DEFAULT CHARACTER SET utf8 */;"
mysql -uroot -p${rootPassword} -e "CREATE USER ${MAINDB}@'%' IDENTIFIED BY '${PASSWDDB}';"
mysql -uroot -p${rootPassword} -e "GRANT ALL PRIVILEGES ON ${MAINDB}.* TO '${MAINDB}'@'%';"
mysql -uroot -p${rootPassword} -e "FLUSH PRIVILEGES;"
exit 0