Privilèges MySQL par défaut

Rubriques connexes

Afficher la liste des privilèges à l'aide d'un client de ligne de commande

Utilisez un client de ligne de commande tel que le client MySQL ou l'interpréteur de commandes MySQL pour afficher la liste des privilèges accordés à un utilisateur.

  1. Effectuez l'une des opérations suivantes pour afficher la liste des privilèges accordés à un utilisateur :
    • Pour voir les privilèges accordés à l'utilisateur courant, exécutez la commande suivante :
      SHOW GRANTS \G
    • Pour voir les privilèges accordés à un utilisateur nommé, exécutez la commande suivante :
      SHOW GRANTS FOR <Username> \G
    Si la commande a été exécutée pour un utilisateur administrateur, User001, la commande retourne les éléments suivants :
    *************************** 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)

    Les rangées correspondent aux éléments suivants :

Privilèges statiques généraux accordés

Certains privilèges MySQL statiques globaux sont accordés à l'administrateur de système de base de données.

Rubriques connexes

Privilèges dynamiques généraux accordés

Certains privilèges MySQL dynamiques globaux sont accordés à l'administrateur de système de base de données.

Tableau 5-11 Privilèges dynamiques généraux accordés

Privilèges dynamiques généraux
APPLICATION_PASSWORD_ADMIN AUDIT_ADMIN
BACKUP_ADMIN CONNECTION_ADMIN
EXPORT_QUERY_RESULTS (MySQL 9.1.1 ou version supérieure uniquement) FLUSH_OPTIMIZER_COSTS
FLUSH_PRIVILEGES (MySQL 8.4.0 ou version supérieure uniquement) FLUSH_STATUS
FLUSH_TABLES FLUSH_USER_RESOURCES
OPTION_TRACKER_OBSERVER (MySQL 9.1.0 ou version supérieure uniquement) REPLICATION_APPLIER
ROLE_ADMIN SET_ANY_DEFINER (MySQL 8.2.0 ou version supérieure uniquement)
SHOW_ROUTINE TRANSACTION_GTID_TAG (MySQL 8.3.0 ou version supérieure uniquement)
VECTOR_STORE_LOAD_EXEC (MySQL 9.0.0 ou version supérieure uniquement) XA_RECOVER_ADMIN

Rubriques connexes

Privilèges accordés sur le schéma sys

Certains privilèges sont accordés sur le schéma sys à l'administrateur de système de base de données.

Tableau 5-12 Privilèges accordés sur le schéma sys

Privilèges accordés sur le schéma sys
CREATE TEMPORARY TABLES

Rubriques connexes

Privilèges révoqués dans le schéma mysql

Certains privilèges sont révoqués du schéma mysql. Vous ne pouvez pas accorder ces privilèges à un utilisateur du système de base de données.

Tableau 5-13 Privilèges révoqués dans le schéma mysql

Rubriques connexes

Privilèges révoqués dans le schéma mysql_audit

Certains privilèges sont supprimés du schéma mysql_audit. Vous ne pouvez pas accorder ces privilèges à un utilisateur du système de base de données.

Tableau 5-14 Privilèges révoqués du schéma mysql_audit

Rubriques connexes

Privilèges révoqués dans le schéma mysql_option

Dans la version MySQL 9.1.0 ou supérieure, certains privilèges sont supprimés du schéma mysql_option. Vous ne pouvez pas accorder ces privilèges à un utilisateur du système de base de données.

Tableau 5-15 Privilèges révoqués du schéma mysql_option

Rubriques connexes

Privilèges révoqués du schéma mysql_rest_service_metadata

Dans la version 9.3.1 ou ultérieure de MySQL avec REST activé, certains privilèges sont révoqués du schéma mysql_rest_service_metadata. Vous ne pouvez pas accorder ces privilèges à un utilisateur du système de base de données.

Tableau 5-16 Privilèges révoqués du schéma mysql_rest_service_metadata

Privilèges révoqués du schéma mysql_tasks

Dans la version 9.3.1 ou ultérieure de MySQL, certains privilèges sont révoqués du schéma mysql_tasks. Vous ne pouvez pas accorder ces privilèges à un utilisateur du système de base de données.

Tableau 5-17 Privilèges révoqués du schéma mysql_tasks

Privilèges révoqués dans le schéma sys

Certains privilèges sont révoqués du schéma sys. Vous ne pouvez pas accorder ces privilèges à un utilisateur du système de base de données.

Tableau 5-18 Privilèges révoqués dans le schéma sys

Rubriques connexes

Rôles accordés

Certains rôles d'utilisateur MySQL sont accordés à l'administrateur de système de base de données.

Tableau 5-19 : Rôles accordés

Rôles accordés
administrator
Le rôle administrator contient tous les privilèges par défaut de l'administrateur de système de base de données, à l'exception du privilège PROXY sur ``@``.
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)

Créer des administrateurs supplémentaires à l'aide d'un client de ligne de commande

Utilisez un client de ligne de commande tel que le client MySQL ou l'interpréteur de commandes MySQL pour créer des administrateurs de système de base de données supplémentaires.

  1. Connectez-vous au système de base de données avec les données d'identification d'un administrateur de système de base de données à l'aide d'un client de ligne de commande tel que le client MySQL ou l'interpréteur de commandes MySQL.
  2. Exécutez la commande suivante pour créer un autre administrateur de système de base de données :
    CREATE USER <admin_user_name> IDENTIFIED BY '<password>' DEFAULT ROLE 'administrator';
    GRANT PROXY ON ``@`` TO <admin_user_name> WITH GRANT OPTION; 
  3. (Facultatif) Exécutez la commande suivante pour lister les privilèges accordés au nouveau compte d'utilisateur :
    SHOW GRANTS FOR <admin_user_name> \G
    La sortie affiche :
    *************************** 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. (Facultatif) Connectez-vous au système de base de données avec les données d'identification du nouvel administrateur à l'aide d'un client de ligne de commande et exécutez la commande suivante pour lister les privilèges :
    SHOW GRANTS \G
    La sortie affiche :
    *************************** 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)