MySQL-Standardberechtigungen

Verwandte Themen

Berechtigungen über einen Befehlszeilenclient auflisten

Über einen Befehlszeilenclient wie MySQL-Client oder MySQL Shell können Sie die Berechtigungen auflisten, die einem Benutzer erteilt wurden.

  1. Führen Sie einen der folgenden Schritte aus, um die einem Benutzer erteilten Berechtigungen aufzulisten:
    • Um die Berechtigungen anzuzeigen, die dem aktuellen Benutzer erteilt wurden, führen Sie den folgenden Befehl aus:
      SHOW GRANTS \G
    • Um die Berechtigungen anzuzeigen, die einem Named User erteilt wurden, führen Sie den folgenden Befehl aus:
      SHOW GRANTS FOR <Username> \G
    Wenn Sie den Befehl für einen Administratorbenutzer User001 ausführen, wird Folgendes zurückgegeben:
    *************************** 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)

    Die Zeilen entsprechen Folgendem:

Erteilte globale statische Berechtigungen

Einige globale statische MySQL-Berechtigungen werden dem DB-Systemadministrator erteilt.

Erteilte globale dynamische Berechtigungen

Bestimmte globale dynamische MySQL-Berechtigungen werden dem DB-Systemadministrator erteilt.

Tabelle 5-11: Erteilte globale dynamische Berechtigungen

Globale dynamische Berechtigungen
APPLICATION_PASSWORD_ADMIN AUDIT_ADMIN
BACKUP_ADMIN CONNECTION_ADMIN
EXPORT_QUERY_RESULTS (nur MySQL 9.1.1 oder höher) FLUSH_OPTIMIZER_COSTS
FLUSH_PRIVILEGES (nur MySQL 8.4.0 oder höher) FLUSH_STATUS
FLUSH_TABLES FLUSH_USER_RESOURCES
OPTION_TRACKER_OBSERVER (nur MySQL 9.1.0 oder höher) REPLICATION_APPLIER
ROLE_ADMIN SET_ANY_DEFINER (nur MySQL 8.2.0 oder höher)
SHOW_ROUTINE TRANSACTION_GTID_TAG (nur MySQL 8.3.0 oder höher)
VECTOR_STORE_LOAD_EXEC (nur MySQL 9.0.0 oder höher) XA_RECOVER_ADMIN

Für sys-Schema erteilte Berechtigungen

Bestimmte Berechtigungen werden dem DB-Systemadministrator im Schema sys erteilt.

Tabelle 5-12: Für sys-Schema erteilte Berechtigungen

Für sys-Schema erteilte Berechtigungen
CREATE TEMPORARY TABLES

In mysql-Schema widerrufene Berechtigungen

Bestimmte Berechtigungen werden für das mysql-Schema widerrufen. Sie können diese Berechtigungen keinem DB-Systembenutzer erteilen.

Tabelle 5-13: In mysql-Schema widerrufene Berechtigungen

Verwandte Themen

In mysql_audit-Schema widerrufene Berechtigungen

Einige Berechtigungen werden dem mysql_audit-Schema widerrufen. Sie können diese Berechtigungen keinem DB-Systembenutzer erteilen.

Tabelle 5-14: Aus Schema mysql_audit entzogene Berechtigungen

Verwandte Themen

In mysql_option-Schema widerrufene Berechtigungen

In MySQL 9.1.0 oder höher werden bestimmte Berechtigungen dem mysql_option-Schema widerrufen. Sie können diese Berechtigungen keinem DB-Systembenutzer erteilen.

Tabelle 5-15: Aus Schema mysql_option entzogene Berechtigungen

Verwandte Themen

Aus Schema mysql_rest_service_metadata entzogene Berechtigungen

In MySQL 9.3.1 oder höher, wenn REST aktiviert ist, werden bestimmte Berechtigungen dem Schema mysql_rest_service_metadata entzogen. Sie können diese Berechtigungen keinem DB-Systembenutzer erteilen.

Tabelle 5-16: Aus Schema mysql_rest_service_metadata entzogene Berechtigungen

Aus Schema mysql_tasks entzogene Berechtigungen

In MySQL 9.3.1 oder höher werden bestimmte Berechtigungen dem Schema mysql_tasks entzogen. Sie können diese Berechtigungen keinem DB-Systembenutzer erteilen.

Tabelle 5-17: Aus Schema mysql_tasks entzogene Berechtigungen

In sys-Schema widerrufene Berechtigungen

Bestimmte Berechtigungen werden für das sys-Schema widerrufen. Sie können diese Berechtigungen keinem DB-Systembenutzer erteilen.

Tabelle 5-18: In sys-Schema widerrufene Berechtigungen

Verwandte Themen

Erteilte Rollen

Bestimmte MySQL-Benutzerrollen werden dem DB-Systemadministrator erteilt.

Tabelle 5-19: Erteilte Rollen

Erteilte Rollen
administrator
Die Rolle administrator enthält alle Standardberechtigungen des DB-Systemadministrators mit Ausnahme der Berechtigung PROXY für ``@``.
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)

Verwandte Themen

Zusätzliche Administratoren mit einem Befehlszeilenclient erstellen

Mit einem Befehlszeilenclient wie MySQL-Client oder MySQL Shell können Sie zusätzliche DB-Systemadministratoren erstellen.

  1. Melden Sie sich mit den Zugangsdaten eines DB-Systemadministrators über einen Befehlszeilenclient wie MySQL-Client oder MySQL Shell beim DB-System an.
  2. Führen Sie den folgenden Befehl aus, um einen anderen DB-Systemadministrator zu erstellen:
    CREATE USER <admin_user_name> IDENTIFIED BY '<password>' DEFAULT ROLE 'administrator';
    GRANT PROXY ON ``@`` TO <admin_user_name> WITH GRANT OPTION; 
  3. (Optional) Führen Sie den folgenden Befehl aus, um die Berechtigungen aufzulisten, die dem neuen Benutzerkonto erteilt wurden:
    SHOW GRANTS FOR <admin_user_name> \G
    Ausgabe:
    *************************** 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. (Optional) Stellen Sie mit einem Befehlszeilenclient eine Verbindung zum DB-System mit den Zugangsdaten des neuen Administrators her, und führen Sie Folgendes aus, um die Berechtigungen aufzulisten:
    SHOW GRANTS \G
    Ausgabe:
    *************************** 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)