Grant System Tables using the  INFORMATION_SCHEMA REFERENTIAL_CONSTRAINTS  and  KEY_COLUMN_USAGE  tables; these tables are now implemented as views on the  foreign_keys ,  foreign_key_column_usage , and other data dictionary tables. Some system tables from before MySQL 8.0 have been replaced by data dictionary tables and are no longer present in the  mysql  system schema: These system tables contain grant information about user accounts and the privileges held by them. For additional information about the structure, contents, and purpose of the these tables, see Section 6.2.3, “Grant Tables” . As of MySQL 8.0, the grant tables are  InnoDB  (transactional) tables. Previously, these were  MyISAM (nontransactional) tables. The change of grant-table storage engine underlies an accompanying change in MySQL 8.0 to the behavior of account-management statements such as  CREATE USER  and  GRANT . Previously, an account-management statement that named multiple users could succeed for some users and fail for others. The statements are now transactional and either succeed for all named users or roll back and have no effect if any error occurs. If MySQL is upgraded from an older version but the grant tables have not been upgraded from  MyISAM  to  InnoDB , the server considers them read only and account-management statements produce an error. For upgrade instructions, see Section 2.11, “Upgrading MySQL” . A given  user  table row might refer to a user account or a role. The server can distinquish whether a row represents a user account, a role, or both by consulting the  role_edges  table for information about relations between authentication IDs. •The  events  data dictionary table supersedes the  event  table from before MySQL 8.0. •The  parameters  and  routines  data dictionary tables together supersede the  proc  table from before MySQL 8.0. • user : User accounts, global privileges, and other nonprivilege columns. • db : Database-level privileges. • tables_priv : Table-level privileges. • global_grants : Assignments of dynamic global privileges to users; see Static Versus Dynamic Privileges. • columns_priv : Column-level privileges. • procs_priv : Stored procedure and function privileges. • proxies_priv : Proxy-user privileges. • default_roles : This table lists default roles to be activated after a user connects and authenticates, or executes  SET ROLE DEFAULT . • role_edges : This table lists edges for role subgraphs. • password_history : Information about password changes. 1019 Grant System Tables Note