mysql/utils/recreate_databases.sh

35 lines
961 B
Bash
Executable File

#!/usr/bin/env bash
mysql_credential_args="--login-path=local"
echo ""
while read _db_name _db_user _db_pass ; do
echo -e "\tprocessing database \"$_db_name\""
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'"
echo -e "\t database \"$_db_name\" deleted."
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'"
echo -e "\t database \"$_db_name\" recreated"
done < databases.txt
echo ""
mysql $mysql_credential_args -N -s -e "FLUSH PRIVILEGES"
exit 0