Privilegios por defecto de MySQL

Temas relacionados

Visualización de privilegios mediante un cliente de línea de comandos

Utilice un cliente de línea de comandos como el cliente MySQL o el shell MySQL para mostrar los privilegios otorgados a un usuario.

  1. Realice una de las siguientes acciones para mostrar los privilegios otorgados a un usuario:
    • Para ver los privilegios otorgados al usuario actual, ejecute el siguiente comando:
      SHOW GRANTS \G
    • Para ver los privilegios otorgados a un usuario designado, ejecute el siguiente comando:
      SHOW GRANTS FOR <Username> \G
    Si se ejecutó el comando para un usuario administrador, User001, el comando devuelve lo siguiente:
    *************************** 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)

    Las filas corresponden a las siguientes:

Privilegios estáticos globales otorgados

Algunos privilegios globales estáticos MySQL se otorgan al administrador del sistema de base de datos.

Privilegios dinámicos globales otorgados

Algunos privilegios globales dinámicos de MySQL se otorgan al administrador del sistema de base de datos.

Tabla 5-11 Privilegios dinámicos globales otorgados

Privilegios dinámicos globales
APPLICATION_PASSWORD_ADMIN AUDIT_ADMIN
BACKUP_ADMIN CONNECTION_ADMIN
EXPORT_QUERY_RESULTS (solo MySQL 9.1.1 o superior) FLUSH_OPTIMIZER_COSTS
FLUSH_PRIVILEGES (solo MySQL 8.4.0 o superior) FLUSH_STATUS
FLUSH_TABLES FLUSH_USER_RESOURCES
OPTION_TRACKER_OBSERVER (solo MySQL 9.1.0 o superior) REPLICATION_APPLIER
ROLE_ADMIN SET_ANY_DEFINER (solo MySQL 8.2.0 o superior)
SHOW_ROUTINE TRANSACTION_GTID_TAG (solo MySQL 8.3.0 o superior)
VECTOR_STORE_LOAD_EXEC (solo MySQL 9.0.0 o superior) XA_RECOVER_ADMIN

Privilegios otorgados en el esquema del sistema

Algunos privilegios se otorgan en el esquema sys al administrador del sistema de base de datos.

Tabla 5-12 Privilegios otorgados en el esquema del sistema

Privilegios otorgados en el esquema del sistema
CREATE TEMPORARY TABLES

Privilegios revocados desde el esquema mysql

Algunos privilegios se revocan al esquema mysql. No se pueden otorgar estos privilegios a ningún usuario del sistema de base de datos.

Tabla 5-13 Privilegios revocados al esquema mysql

Temas relacionados

Privilegios revocados desde el esquema mysql_audit

Algunos privilegios se revocan al esquema mysql_audit. No se pueden otorgar estos privilegios a ningún usuario del sistema de base de datos.

Tabla 5-14 Privilegios revocados del esquema mysql_audit

Temas relacionados

Privilegios revocados desde el esquema mysql_option

En MySQL 9.1.0 o posterior, determinados privilegios se revocan al esquema mysql_option. No se pueden otorgar estos privilegios a ningún usuario del sistema de base de datos.

Tabla 5-15 Privilegios revocados del esquema mysql_option

Privilegios revocados del esquema mysql_rest_service_metadata

En MySQL 9.3.1 o superior con REST activado, se revocan determinados privilegios del esquema mysql_rest_service_metadata. No se pueden otorgar estos privilegios a ningún usuario del sistema de base de datos.

Tabla 5-16 Privilegios revocados del esquema mysql_rest_service_metadata

Privilegios revocados del esquema mysql_tasks

En MySQL 9.3.1 o superior, se revocan determinados privilegios del esquema mysql_tasks. No se pueden otorgar estos privilegios a ningún usuario del sistema de base de datos.

Tabla 5-17 Privilegios revocados del esquema mysql_tasks

Privilegios revocados desde el esquema sys

Algunos privilegios se revocan al esquema sys. No se pueden otorgar estos privilegios a ningún usuario del sistema de base de datos.

Tabla 5-18 Privilegios revocados al esquema sys

Temas relacionados

Roles Otorgados

Algunos roles de usuario MySQL se otorgan al administrador del sistema de base de datos.

Tabla 5-19 Roles otorgados

Roles Otorgados
administrator
El rol administrator contiene todos los privilegios por defecto del administrador del sistema de base de datos, excepto el privilegio PROXY en ``@``.
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)

Temas relacionados

Creación de Administradores Adicionales mediante un Cliente de Línea de Comandos

Utilice un cliente de línea de comandos como MySQL Client o MySQL Shell para crear administradores de sistema de base de datos adicionales.

  1. Conéctese al sistema de base de datos con la credencial de un administrador del sistema de base de datos mediante un cliente de línea de comandos como cliente MySQL o shell MySQL.
  2. Ejecute el siguiente comando para crear otro administrador del sistema de base de datos:
    CREATE USER <admin_user_name> IDENTIFIED BY '<password>' DEFAULT ROLE 'administrator';
    GRANT PROXY ON ``@`` TO <admin_user_name> WITH GRANT OPTION; 
  3. (Opcional) Ejecute el siguiente comando para mostrar los privilegios otorgados a la nueva cuenta de usuario:
    SHOW GRANTS FOR <admin_user_name> \G
    La salida muestra:
    *************************** 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. (Opcional) Conéctese al sistema de base de datos con la credencial del nuevo administrador mediante un cliente de línea de comandos y ejecute lo siguiente para mostrar los privilegios:
    SHOW GRANTS \G
    La salida muestra:
    *************************** 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)