Script eseguibile per assegnare uno specifico utente mysql/mariaDB ad un database dato in input, in sola lettura.
L’host è % in quanto c’è la necessità di accedere al db da remoto.
#!/bin/bash
DB_NAME="$1"
MYSQL_USER="UTENTEMYSQL"
MYSQL_HOST="%"
MYSQL_ROOT_USER="root"
MYSQL_ROOT_HOST="127.0.0.1"
MYSQL_ROOT_PASSWORD="QUILAPASSWORDDIROOT"
if [ -z "$DB_NAME" ]; then
echo "Uso: $0 nome_database"
exit 1
fi
echo "Aggiungo SELECT a ${MYSQL_USER}@${MYSQL_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_USER}'@'${MYSQL_HOST}';
FLUSH PRIVILEGES;
EOF
then
echo "Operazione completata ✅"
else
echo "Errore durante l'esecuzione ❌"
exit 1
fi
