From a26a0db9ca67dbd9303477207c14029c21f029b7 Mon Sep 17 00:00:00 2001 From: Martin Winkler Date: Fri, 24 Jan 2020 19:26:37 +0100 Subject: [PATCH] Ability to add a new database with privileges for an existing user --- seqs/mysql.sh | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/seqs/mysql.sh b/seqs/mysql.sh index 1e61e93..aab1cab 100755 --- a/seqs/mysql.sh +++ b/seqs/mysql.sh @@ -58,15 +58,16 @@ step_10() { read -p "Enter mysql user name: " mysqlUser endCheckEmpty mysqlUser "user name" - read -s -p "Enter mysql user password: " mysqlPass - endCheckEmpty mysqlPass "password" - exe mysql -u root -e 'CREATE USER '"'"$mysqlUser"'"'@'"'"'localhost'"'"' IDENTIFIED BY '"'"$mysqlPass"'"';' - saveReturn $? - endReturn + if ! echo "SELECT COUNT(*) FROM mysql.user WHERE user = '$mysqlUser';" | mysql | grep 1 &>/dev/null; then + # User does not exist + read -s -p "Enter mysql user password: " mysqlPass + endCheckEmpty mysqlPass "password" + exe mysql -u root -e 'CREATE USER '"'"$mysqlUser"'"'@'"'"'localhost'"'"' IDENTIFIED BY '"'"$mysqlPass"'"';' + endReturn -o $? "Error creating mysql user" + fi exe mysql -u root -e 'GRANT ALL PRIVILEGES ON '$mysqlDatabase'.* TO '"'"$mysqlUser"'"'@'"'"'localhost'"'"';' - saveReturn $? - endReturn + endReturn -o $? "Error assigning privileges on database" exe mysql -u root -e 'FLUSH PRIVILEGES;' } @@ -92,15 +93,16 @@ step_12() { read -p "Enter mysql user name: " mysqlUser endCheckEmpty mysqlUser "user name" - read -s -p "Enter mysql user password: " mysqlPass - endCheckEmpty mysqlPass "password" - exe mysql -u root -e 'CREATE USER '"'"$mysqlUser"'"'@'"'"'localhost'"'"' IDENTIFIED BY '"'"$mysqlPass"'"';' - saveReturn $? - endReturn + if ! echo "SELECT COUNT(*) FROM mysql.user WHERE user = '$mysqlUser';" | mysql | grep 1 &>/dev/null; then + # User does not exist + read -s -p "Enter mysql user password: " mysqlPass + endCheckEmpty mysqlPass "password" + exe mysql -u root -e 'CREATE USER '"'"$mysqlUser"'"'@'"'"'localhost'"'"' IDENTIFIED BY '"'"$mysqlPass"'"';' + endReturn -o $? "Error creating mysql user" + fi exe mysql -u root -e 'GRANT ALL PRIVILEGES ON '$mysqlDatabase'.* TO '"'"$mysqlUser"'"'@'"'"'localhost'"'"';' - saveReturn $? - endReturn + endReturn -o $? "Error assigning privileges on database" exe mysql -u root -e 'FLUSH PRIVILEGES;' }