Skip to content

Instantly share code, notes, and snippets.

@hilja
Last active August 17, 2020 06:21
Show Gist options
  • Save hilja/10497734 to your computer and use it in GitHub Desktop.
Save hilja/10497734 to your computer and use it in GitHub Desktop.
Shell script to create MySQL database and user
#!/bin/bash
# Functions
ok() { echo -e '\e[32m'$1'\e[m'; } # Green
EXPECTED_ARGS=3
E_BADARGS=65
MYSQL=`which mysql`
Q1="CREATE DATABASE IF NOT EXISTS $1;"
Q2="GRANT ALL ON *.* TO '$2'@'localhost' IDENTIFIED BY '$3';"
Q3="FLUSH PRIVILEGES;"
SQL="${Q1}${Q2}${Q3}"
if [ $# -ne $EXPECTED_ARGS ]
then
echo "Usage: $0 dbname dbuser dbpass"
exit $E_BADARGS
fi
$MYSQL -uroot -p -e "$SQL"
ok "Database $1 and user $2 created with a password $3"
@webkonstantin
Copy link

you should use GRANT ALL ON $1.* if you want to give access only to newly created database, not all databases

@nojaf
Copy link

nojaf commented Mar 13, 2016

Perhaps create an optional parameters for the host?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment