Script eseguibile per assegnare ad uno specifico database mysql un utente dato in input

Script eseguibile per assegnare ad uno specifico database mysql un utente dato in input

L’host è % in quanto c’è la necessità di accedere al db da remoto.

 

#!/bin/bash

MYSQL_TARGET_USER="$1"
MYSQL_TARGET_HOST="%"
DB_NAME="SPECIFICODATABASE"

MYSQL_ROOT_USER="root"
MYSQL_ROOT_HOST="127.0.0.1"
MYSQL_ROOT_PASSWORD="PASSWORDROOTMYSQL"

if [ -z "$MYSQL_TARGET_USER" ]; then
  echo "Uso: $0 nome_utente_mysql"
  exit 1
fi

echo "Concedo accesso SELECT a ${MYSQL_TARGET_USER}@${MYSQL_TARGET_HOST} su ${DB_NAME}..."

if mysql -h "${MYSQL_ROOT_HOST}" -u "${MYSQL_ROOT_USER}" -p"${MYSQL_ROOT_PASSWORD}" <<EOF
GRANT SELECT ON \`${DB_NAME}\`.* TO '${MYSQL_TARGET_USER}'@'${MYSQL_TARGET_HOST}';
FLUSH PRIVILEGES;
EOF
then
  echo "Operazione completata ✅"
else
  echo "Errore ❌"
  exit 1
fi

 

 

 

Linux Tips

Comments are disabled.