mysql/create_databases.sh
2017-02-21 02:31:30 +01:00

38 lines
1004 B
Bash
Executable File

#!/usr/bin/env bash
mysql_credential_args="--login-path=local"
_drop=false
echo ""
while read _db_name _db_user _db_pass ; do
echo -e "\tprocessing database \"$_db_name\""
if $_drop ; then
mysql $mysql_credential_args -N -s -e \
"DROP DATABASE $_db_name"
mysql $mysql_credential_args mysql -N -s -e \
"DELETE FROM db WHERE Db = '$_db_name'"
mysql $mysql_credential_args mysql -N -s -e \
"DELETE FROM user WHERE User = '$_db_user'"
else
mysql $mysql_credential_args -N -s -e \
"CREATE DATABASE IF NOT EXISTS $_db_name CHARACTER SET utf8 COLLATE utf8_general_ci"
mysql $mysql_credential_args -N -s -e \
"GRANT ALL ON $_db_name.* TO '$_db_user'@'localhost' IDENTIFIED BY '$_db_pass'"
mysql $mysql_credential_args -N -s -e \
"USE mysql; UPDATE user SET Super_priv = 'Y' WHERE User = '$_db_user'"
fi
done < databases.txt
echo ""
mysql $mysql_credential_args -N -s -e "FLUSH PRIVILEGES"
exit 0