Il comando GRANT ALL PRIVILEGES in MariaDB consente di assegnare a un utente tutti i permessi su un database, per­met­ten­do ope­ra­zio­ni senza re­stri­zio­ni come la creazione, la modifica o l’eli­mi­na­zio­ne di tabelle.

Che cos’è GRANT ALL PRIVILEGES in MariaDB?

Il comando GRANT ALL PRIVILEGES in MariaDB consente di at­tri­bui­re all’utente tutti i privilegi di­spo­ni­bi­li su uno o più database, tra cui le au­to­riz­za­zio­ni alla creazione, la modifica e l’eli­mi­na­zio­ne di tabelle e l’accesso alle funzioni am­mi­ni­stra­ti­ve. Con l’uso mirato di GRANT ALL PRIVILEGES è possibile con­trol­la­re i permessi di accesso all’interno dell’ambiente del database.

Per uti­liz­za­re GRANT ALL PRIVILEGES in MariaDB devi possedere privilegi di sistema elevati, come il pri­vi­le­gio SUPER o l’au­to­riz­za­zio­ne per assegnare permessi ad altri (GRANT OPTION). Accedi con un account am­mi­ni­stra­ti­vo e as­si­cu­ra­ti di avere ef­fet­tua­to la con­nes­sio­ne all’istanza corretta del database. Definisci con pre­ci­sio­ne il nome utente e il relativo host per evitare as­se­gna­zio­ni errate. Verifica inoltre che il database di de­sti­na­zio­ne esista già, poiché il comando si applica solo a database esistenti.

Compute Engine
La soluzione IaaS ideale per i tuoi carichi di lavoro
  • vCPU estre­ma­men­te van­tag­gio­se e potenti core dedicati
  • Massima fles­si­bi­li­tà senza periodo con­trat­tua­le minimo
  • Servizio di as­si­sten­za tecnica 24 ore su 24, 7 giorni su 7

Sintassi del comando GRANT ALL PRIVILEGES in MariaDB

La sintassi di base per assegnare tutti i privilegi su un database in MariaDB è la seguente:

GRANT ALL PRIVILEGES ON database.* TO 'username'@'host';
sql

Il comando assegna tutti i permessi all’utente indicato sul database spe­ci­fi­ca­to. Con 'username'@host sta­bi­li­sci a quale utente e da quale host è con­sen­ti­to l’accesso. È possibile anche definire una password con­te­stual­men­te, per au­ten­ti­ca­re l’utente.

Dopo l’ese­cu­zio­ne del comando, per rendere effettive le modifiche è ne­ces­sa­rio ag­gior­na­re i privilegi con:

FLUSH PRIVILEGES;
sql

Questo ga­ran­ti­sce che i privilegi assegnati siano im­me­dia­ta­men­te attivi e cor­ret­ta­men­te salvati nel sistema.

Tutorial: creare un utente e assegnare i permessi

Per creare un nuovo utente in MariaDB e assegnare a esso tutti i permessi, segui questi passaggi:

Primo passaggio: creare un nuovo utente

Per prima cosa, crea un nuovo utente con una password sicura. A tal fine, utilizza il seguente comando:

CREATE USER 'newuser'@localhost IDENTIFIED BY 'strongpassword';
sql

Con il comando CREATE USER di MariaDB definisci un nuovo account e associ una password. So­sti­tui­sci newuser con il nome utente de­si­de­ra­to e strongpassword con una password univoca e sicura. Il comando localhost limita l’accesso al server locale. Se vuoi con­sen­ti­re l’accesso da remoto, inserisci l’indirizzo IP o il nome host del server de­si­de­ra­to.

Secondo passaggio: assegnare tutti i permessi su un database

Il comando GRANT ALL PRIVILEGES in MariaDB assegna all’utente tutti i privilegi di­spo­ni­bi­li sul database database_name. Il se­gna­po­sto * indica tutte le tabelle all’interno del database spe­ci­fi­ca­to.

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@localhost;
sql

Terzo passaggio: con­sen­ti­re la tra­smis­sio­ne dei privilegi (GRANT OPTION)

Con l’aggiunta di WITH GRANT OPTION, l’utente ottiene il permesso per tra­sfe­ri­re i privilegi ricevuti ad altri utenti.

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@localhost WITH GRANT OPTION;
sql

Quarto passaggio: assegnare permessi specifici su database o tabelle

È possibile anche assegnare singoli permessi su un database o una tabella. Ad esempio, per con­sen­ti­re solo la lettura dei dati, utilizza il seguente comando:

GRANT SELECT ON database_name.* TO 'newuser'@localhost;
sql

In questo esempio, 'newuser' ottiene il permesso di leggere tutti i dati nel database database_name, ma non di apportare modifiche. Uti­liz­zan­do * dopo il nome del database, i permessi si ri­fe­ri­sco­no a tutte le tabelle di quel database.

Per concedere l’accesso a una singola tabella, il comando diventa:

GRANT SELECT ON database_name.table_name TO 'newuser'@localhost;
sql

In questo modo, 'newuser' può leggere solo dalla tabella table_name contenuta all’interno del database database_name. Ciò consente di con­trol­la­re con estrema pre­ci­sio­ne le azioni che l’utente è au­to­riz­za­to a eseguire.

Quinto passaggio: applicare le modifiche

I privilegi vengono in genere applicati im­me­dia­ta­men­te. In caso contrario, è possibile eseguire il comando seguente per rendere effettivi tutti i permessi assegnati:

FLUSH PRIVILEGES;
sql

Sesto passaggio: vi­sua­liz­za­re i privilegi assegnati

Per ve­ri­fi­ca­re tutti i permessi at­tual­men­te assegnati a un account utente, inserisci il seguente comando:

SHOW GRANTS FOR 'newuser'@localhost;
sql

Questo comando elenca tutte le au­to­riz­za­zio­ni di cui dispone newuser per l’istanza MariaDB. Non vengono vi­sua­liz­za­ti solo i permessi generali su database o tabelle, ma anche privilegi speciali come la pos­si­bi­li­tà di tra­sfe­ri­re i propri privilegi (WITH GRANT OPTION).

Managed Database Services
Con­cen­tra­ti sul tuo progetto, noi pensiamo al resto
  • Partner IONOS Cloud
  • Soluzioni fles­si­bi­li e su misura
  • Data center situati in Europa
Vai al menu prin­ci­pa­le