Privilegi MySQL predefiniti

Argomenti correlati

Lista dei privilegi utilizzando un client dalla riga di comando

Utilizzare un client della riga di comando, ad esempio un client MySQL o una shell MySQL, per elencare i privilegi concessi a un utente.

  1. Per elencare i privilegi concessi a un utente, effettuare una delle operazioni riportate di seguito.
    • Per visualizzare i privilegi concessi all'utente corrente, eseguire il comando seguente:
      SHOW GRANTS \G
    • Per visualizzare i privilegi concessi a un utente denominato, eseguire il comando seguente:
      SHOW GRANTS FOR <Username> \G
    Se il comando è stato eseguito per un utente amministratore, User001, il comando restituisce i seguenti elementi:
    *************************** 1. row ***************************
    Grants for User001@%: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, 
    PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, 
    LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, 
    SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, 
    CREATE ROLE, DROP ROLE ON *.* TO `User001`@`%` WITH GRANT OPTION
    *************************** 2. row ***************************
    Grants for User001@%: GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ADMIN,BACKUP_ADMIN,
    CONNECTION_ADMIN,EXPORT_QUERY_RESULTS,FLUSH_OPTIMIZER_COSTS,FLUSH_PRIVILEGES,
    FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,OPTION_TRACKER_OBSERVER,
    REPLICATION_APPLIER,ROLE_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,TRANSACTION_GTID_TAG,
    VECTOR_STORE_LOAD_EXEC,XA_RECOVER_ADMIN ON *.* TO `User001`@`%` WITH GRANT OPTION
    *************************** 3. row ***************************
    Grants for admin@%: GRANT CREATE TEMPORARY TABLES ON `sys`.* TO `admin`@`%` 
    WITH GRANT OPTION
    *************************** 4. row ***************************
    Grants for User001@%: REVOKE INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, 
    INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW,
     CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `mysql`.* FROM `User001`@`%`
    *************************** 5. row ***************************
    Grants for User001@%: REVOKE CREATE, DROP, REFERENCES, INDEX, ALTER, 
    CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, CREATE ROUTINE, 
    ALTER ROUTINE, EVENT, TRIGGER ON `mysql_audit`.* FROM `User001`@`%`
    *************************** 6. row ***************************
    Grants for User001@%: REVOKE INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, 
    INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, 
    CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `mysql_option`.* FROM `User001`@`%`
    *************************** 7. row ***************************
    Grants for User001@%: REVOKE INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, 
    ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, CREATE ROUTINE, 
    ALTER ROUTINE, EVENT, TRIGGER ON `mysql_rest_service_metadata`.* FROM FROM `User001`@`%`
    *************************** 8. row ***************************
    Grants for User001@%: REVOKE CREATE, DROP, REFERENCES, INDEX, ALTER, 
    CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, CREATE ROUTINE, ALTER ROUTINE, 
    EVENT, TRIGGER ON `mysql_tasks`.* FROM FROM `User001`@`%`
    *************************** 9. row ***************************
    Grants for User001@%: REVOKE CREATE, DROP, REFERENCES, INDEX, ALTER, LOCK TABLES, 
    CREATE VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `sys`.* FROM `User001`@`%`
    *************************** 10. row ***************************
    Grants for User001@%: GRANT PROXY ON ``@`` TO `User001`@`%` WITH GRANT OPTION
    *************************** 11. row ***************************
    Grants for User001@%: GRANT `administrator`@`%` TO `User001`@`%` WITH ADMIN OPTION
    8 rows in set (0.11 sec)

    Le righe corrispondono alle seguenti:

Privilegi statici globali concessi

Alcuni privilegi MySQL statici globali vengono concessi all'amministratore del sistema DB.

Argomenti correlati

Privilegi dinamici globali concessi

Alcuni privilegi MySQL dinamici globali vengono concessi all'amministratore del sistema DB.

Tabella 5-11 Privilegi dinamici globali concessi

Privilegi dinamici globali
APPLICATION_PASSWORD_ADMIN AUDIT_ADMIN
BACKUP_ADMIN CONNECTION_ADMIN
EXPORT_QUERY_RESULTS (solo MySQL 9.1.1 o versione successiva) FLUSH_OPTIMIZER_COSTS
FLUSH_PRIVILEGES (solo MySQL 8.4.0 o versione successiva) FLUSH_STATUS
FLUSH_TABLES FLUSH_USER_RESOURCES
OPTION_TRACKER_OBSERVER (solo MySQL 9.1.0 o versione successiva) REPLICATION_APPLIER
ROLE_ADMIN SET_ANY_DEFINER (solo MySQL 8.2.0 o versione successiva)
SHOW_ROUTINE TRANSACTION_GTID_TAG (solo MySQL 8.3.0 o versione successiva)
VECTOR_STORE_LOAD_EXEC (solo MySQL 9.0.0 o versioni successive) XA_RECOVER_ADMIN

Argomenti correlati

Privilegi concessi nello schema di sistema

Alcuni privilegi vengono concessi nello schema sys all'amministratore del sistema DB.

Tabella 5-12 Privilegi concessi nello schema di sistema

Privilegi concessi nello schema di sistema
CREATE TEMPORARY TABLES

Argomenti correlati

Privilegi revocati dallo schema mysql

Alcuni privilegi vengono revocati dallo schema mysql. Non è possibile concedere questi privilegi ad alcun utente del sistema DB.

Tabella 5-13 Privilegi revocati dallo schema mysql

Argomenti correlati

Privilegi revocati dallo schema mysql_audit

Alcuni privilegi vengono revocati dallo schema mysql_audit. Non è possibile concedere questi privilegi ad alcun utente del sistema DB.

Tabella 5-14 Privilegi revocati dallo schema mysql_audit

Argomenti correlati

Privilegi revocati dallo schema mysql_option

In MySQL 9.1.0 o versioni successive, determinati privilegi vengono revocati dallo schema mysql_option. Impossibile concedere questi privilegi a qualsiasi utente del sistema DB.

Tabella 5-15 Privilegi revocati dallo schema mysql_option

Argomenti correlati

Privilegi revocati dallo schema mysql_rest_service_metadata

In MySQL 9.3.1 o versione successiva con REST abilitato, determinati privilegi vengono revocati dallo schema mysql_rest_service_metadata. Non è possibile concedere questi privilegi ad alcun utente del sistema DB.

Tabella 5-16 Privilegi revocati dallo schema mysql_rest_service_metadata

Privilegi revocati dallo schema mysql_tasks

In MySQL 9.3.1 o versioni successive, determinati privilegi vengono revocati dallo schema mysql_tasks. Non è possibile concedere questi privilegi ad alcun utente del sistema DB.

Tabella 5-17 Privilegi revocati dallo schema mysql_tasks

Privilegi revocati dallo schema di sistema

Alcuni privilegi vengono revocati dallo schema sys. Impossibile concedere questi privilegi a qualsiasi utente del sistema DB.

Tabella 5-18 Privilegi revocati dallo schema di sistema

Argomenti correlati

Ruoli concessi

Alcuni ruoli utente MySQL vengono concessi all'amministratore del sistema DB.

Tabella 5-19 Ruoli concessi

Ruoli concessi
administrator
Il ruolo administrator contiene tutti i privilegi predefiniti dell'amministratore del sistema DB, ad eccezione del privilegio PROXY su ``@``.
SHOW GRANTS FOR administrator \G
*************************** 1. row ***************************
Grants for administrator@%: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, 
PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, 
LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, 
SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, 
CREATE ROLE, DROP ROLE ON *.* TO `administrator`@`%` WITH GRANT OPTION
*************************** 2. row ***************************
Grants for administrator@%: GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ADMIN,BACKUP_ADMIN,
CONNECTION_ADMIN,FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,
OPTION_TRACKER_OBSERVER,REPLICATION_APPLIER,ROLE_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,
TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN ON *.* TO `administrator`@`%` WITH GRANT OPTION
*************************** 3. row ***************************
Grants for administrator@%: REVOKE INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, 
INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, 
CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `mysql`.* FROM `administrator`@`%`
*************************** 4. row ***************************
Grants for administrator@%: REVOKE CREATE, DROP, REFERENCES, INDEX, ALTER, 
CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, CREATE ROUTINE, ALTER ROUTINE, 
EVENT, TRIGGER ON `mysql_audit`.* FROM `administrator`@`%`
*************************** 5. row ***************************
Grants for administrator@%: REVOKE INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, 
INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, CREATE ROUTINE, 
ALTER ROUTINE, EVENT, TRIGGER ON `mysql_option`.* FROM `administrator`@`%`
*************************** 6. row ***************************
Grants for administrator@%: REVOKE CREATE, DROP, REFERENCES, INDEX, ALTER, 
CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, CREATE ROUTINE, ALTER ROUTINE, 
EVENT, TRIGGER ON `sys`.* FROM `administrator`@`%`
6 rows in set (0.00 sec)

Argomenti correlati

Creazione di amministratori aggiuntivi mediante un client dalla riga di comando

Utilizzare un client della riga di comando come il client MySQL o la shell MySQL per creare amministratori di sistema DB aggiuntivi.

  1. Connettersi al sistema DB con le credenziali di un amministratore del sistema DB utilizzando un client della riga di comando, ad esempio il client MySQL o la shell MySQL.
  2. Eseguire il comando seguente per creare un altro amministratore del sistema DB:
    CREATE USER <admin_user_name> IDENTIFIED BY '<password>' DEFAULT ROLE 'administrator';
    GRANT PROXY ON ``@`` TO <admin_user_name> WITH GRANT OPTION; 
  3. (Facoltativo) Eseguire il comando seguente per elencare i privilegi concessi al nuovo account utente:
    SHOW GRANTS FOR <admin_user_name> \G
    Viene visualizzato il seguente output:
    *************************** 1. row ***************************
    Grants for <admin_user_name>@%: GRANT USAGE ON *.* TO `<admin_user_name>`@`%` WITH GRANT OPTION
    *************************** 2. row ***************************
    Grants for <admin_user_name>@%: GRANT PROXY ON ``@`` TO `<admin_user_name>`@`%` WITH GRANT OPTION
    *************************** 3. row ***************************
    Grants for <admin_user_name>@%: GRANT `administrator`@`%` TO `<admin_user_name>`@`%`
    3 rows in set (0.00 sec)
  4. (Facoltativo) Connettersi al sistema DB con le credenziali del nuovo amministratore utilizzando un client della riga di comando ed eseguire le operazioni riportate di seguito per elencare i privilegi.
    SHOW GRANTS \G
    Viene visualizzato il seguente output:
    *************************** 1. row ***************************
    Grants for <admin_user_name>@%: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, 
    PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, 
    EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, 
    ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE ROLE, DROP ROLE ON *.* 
    TO `<admin_user_name>`@`%` WITH GRANT OPTION
    *************************** 2. row ***************************
    Grants for <admin_user_name>@%: GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ADMIN,
    BACKUP_ADMIN,CONNECTION_ADMIN,FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,
    FLUSH_USER_RESOURCES,OPTION_TRACKER_OBSERVER,REPLICATION_APPLIER,ROLE_ADMIN,SET_ANY_DEFINER,SHOW_ROUTINE,
    TRANSACTION_GTID_TAG,XA_RECOVER_ADMIN ON *.* TO `<admin_user_name>`@`%` WITH GRANT OPTION
    *************************** 3. row ***************************
    Grants for <admin_user_name>@%: REVOKE INSERT, UPDATE, DELETE, CREATE, DROP, 
    REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, 
    CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `mysql`.* FROM `<admin_user_name>`@`%`
    *************************** 4. row ***************************
    Grants for <admin_user_name>@%: REVOKE CREATE, DROP, REFERENCES, INDEX, ALTER, 
    CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, CREATE ROUTINE, ALTER ROUTINE, 
    EVENT, TRIGGER ON `mysql_audit`.* FROM `<admin_user_name>`@`%`
    *************************** 5. row ***************************
    Grants for <admin_user_name>@%: REVOKE INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, 
    INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, CREATE ROUTINE, ALTER ROUTINE, 
    EVENT, TRIGGER ON `mysql_option`.* FROM `<admin_user_name>`@`%`
    *************************** 6. row ***************************
    Grants for <admin_user_name>@%: REVOKE CREATE, DROP, REFERENCES, INDEX, ALTER, 
    CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, CREATE ROUTINE, ALTER ROUTINE, 
    EVENT, TRIGGER ON `sys`.* FROM `<admin_user_name>`@`%`
    *************************** 7. row ***************************
    Grants for <admin_user_name>@%: GRANT PROXY ON ``@`` TO `<admin_user_name>`@`%` WITH GRANT OPTION
    *************************** 8. row ***************************
    Grants for <admin_user_name>@%: GRANT `administrator`@`%` TO `<admin_user_name>`@`%`
    8 rows in set (0.00 sec)