mysql8动态权限

插件权限(动态权限):      ---这个表mysql.global_grants;
大多数动态权限是在服务器启动时定义的。其他由特定组件或插件定义,如权限描述中所示。在这种情况下,除非启用定义它的组件或插件,否则该权限不可用。super权限的拆分。

APPLICATION_PASSWORD_ADMIN     双密码管理

AUDIT_ABORT_EXEMPT                      允许在审计日志过滤中查看被abort的日志--(此权限由 audit_log插件定义)
*AUDIT_ADMIN                                   允许审核日志参数 --(此权限由 audit_log插件定义)

AUTHENTICATION_POLICY_ADMIN   认证管理

*BACKUP_ADMIN                              允许执行 LOCK INSTANCE FOR BACKUP 语句 和 对 performance_schema.log_status 表的访问。 -----比flush table with read lock更轻量   

                                                          升级到8.0这个权限自动被授予有reload权限的用户

*BINLOG_ADMIN                             允许binlog被PURGE BINARY LOGS和BINLOG语句控制。
BINLOG_ENCRYPTION_ADMIN       允许设置系统变量 binlog_encryption

*CLONE_ADMIN                              允许执行CLONE语句。包括BACKUP_ADMIN和SHUTDOWN权限。

CONNECTION_ADMIN                     允许使用kill命令杀会话

ENCRYPTION_KEY_ADMIN              允许innodb密钥轮换

FIREWALL_ADMIN                            使用户能够管理任何用户的防火墙规则。 --此权限由 MYSQL_FIREWALL插件定义
FIREWALL_EXEMPT                          具有此权限的用户不受防火墙限制。 --此权限由 MYSQL_FIREWALL插件定义
FIREWALL_USER                              允许用户更新他们自己的防火墙规则。 ---此权限由 MYSQL_FIREWALL插件定义

FLUSH_OPTIMIZER_COSTS            允许执行 FLUSH OPTIMIZER_COSTS语句
FLUSH_STATUS                              允许使用FLUSH STATUS语句
FLUSH_TABLES                              允许使用FLUSH TABLES语句
FLUSH_USER_RESOURCES            允许使用FLUSH USER_RESOURCES语句

MGR:
GROUP_REPLICATION_ADMIN          使帐户能够使用START GROUP REPLICATION和STOP GROUP REPLICATION语句启动和停止 Group Replication,
                                                           更改 group_replication_consistency系统变量的全局设置,以及使用 group_replication_set_write_concurrency() 和 group_replication_set_communication_protocol() 函数。
                                                          将此特权授予用于管理作为复制组成员的服务器的帐户。
GROUP_REPLICATION_STREAM       允许该帐户用于建立组复制的组通信连接。

*INNODB_REDO_LOG_ARCHIVE            允许该用户能够激活和停用重做日志归档 ---archived log
*INNODB_REDO_LOG_ENABLE              允许使用ALTER INSTANCE {ENABLE|DISABLE} INNODB REDO_LOG 语句来启用或禁用重做日志记录 ---redo log

NDB_STORED_USER                               NDB集群(NDB引擎,相当于分布式sql节点)

PASSWORDLESS_USER_ADMIN             允许创建无密码用户,组复制中无密码用户配置

PERSIST_RO_VARIABLES_ADMIN             可以使用 SET PERSIST_ONLY将全局系统变量持久保存到mysqld-auto.cnf数据目录中的选项文件中。
                                                                  该语句类似于 SET PERSIST但不修改运行时全局系统变量值。这 SET PERSIST_ONLY适用于配置只能在服务器启动时设置的只读系统变量。

主从:
REPLICATION_APPLIER                               Enables the account to act as the PRIVILEGE_CHECKS_USER for a replication channel,
                                                                   and to execute BINLOG statements in mysqlbinlog output。 ----配置数据源端
REPLICATION_SLAVE_ADMIN                   允许start replica 和stop replica ---配置目标端
                                                                  和 CHANGE REPLICATION SOURCE TO(8.0)或者CHANGE MASTER TO(5.7)
                                                                  和CHANGE REPLICATION FILTER

资源组:
RESOURCE_GROUP_ADMIN                          允许资源组管理,包括创建、更改和删除资源组,以及将线程和语句分配给资源组。具有此权限的用户可以执行与资源组相关的任何操作。
RESOURCE_GROUP_USER                             允许将线程和语句分配给资源组。具有此权限的用户可以使用该 SET RESOURCE GROUP语句和RESOURCE_GROUP 优化器提示。

*ROLE_ADMIN                                                允许角色管理授予和撤销角色

SENSITIVE_VARIABLES_OBSERVER                  允许查看performance库下session_variables、 variables_by_thread和 persisted_variables表里一些敏感值。

SERVICE_CONNECTION_ADMIN                     允许连接到仅允许管理员用户连接的网络

SESSION_VARIABLES_ADMIN                        对于某些系统变量,设置会话值可能会在当前会话之外产生影响,因此是受限操作(允许设置)

*SET_USER_ID                                            如果你拥有SET_USER_ID权限,那你可以创建一个带有DEFINER属性的存储过程,并将DEFINER属性设置为任何用户。
                                                                  更改视图和event的definer需要此权限。

*SHOW_ROUTINE                                 使用户能够访问所有存储例程(存储过程和函数)的定义和属性,甚至是那些对该用户未命名为例程定义器的定义和属性。此访问权限包括:
                                                                表的内容 INFORMATION_SCHEMA.ROUTINES 。
                                                                和SHOW CREATE FUNCTION 语句SHOW CREATE PROCEDURE 。
                                                                和SHOW FUNCTION CODE 语句SHOW PROCEDURE CODE 。
                                                                和SHOW FUNCTION STATUS 语句SHOW PROCEDURE STATUS 。
                                                             This enables an account to back up stored routines without requiring a broad privilege.

SKIP_QUERY_REWRITE                          具有此权限的用户发出的查询不受Rewriter插件重写的影响。(MySQL 8.0.31 新增)

*SYSTEM_USER                                    特权用户。具有SYSTEM_USER权限的帐户不能被没有SYSTEM_USER的帐户修改,但system_user能修改普通用户,即使该帐户具有CREATE USER权限。
                                                             要修改某个存储过程的定义用户,如果原来的账号A拥有system_user权限,那么修改的账号也需要拥有system_user权限。

SYSTEM_VARIABLES_ADMIN               允许改global system variables用 SET GLOBAL and SET PERSIST
                                                             允许 SET PERSIST_ONLY, if the user also has PERSIST_RO_VARIABLES_ADMIN.
                                                             允许 setting restricted session system variables that require a special privilege.
                                                             实际上,SYSTEM_VARIABLES_ADMIN意味着SESSION_VARIABLES_ADMIN 而没有明确地授予SESSION_VARIABLES_ADMIN。

TABLE_ENCRYPTION_ADMIN              允许用户在 table_encryption_privilege_check 启用时覆盖默认加密设置

TELEMETRY_LOG_ADMIN                    Enables telemetry log configuration. This privilege is defined by the telemetry_log plugin, which is deployed through MySQL HeatWave on AWS.

TP_CONNECTION_ADMIN                    Enables connecting to the server with a privileged connection
                                                             当达到定义的限制时 thread_pool_max_transactions_limit ,不允许新连接

VERSION_TOKEN_ADMIN                     Enables execution of Version Tokens functions. This privilege is defined by the version_tokens plugin

XA_RECOVER_ADMIN                             Enables execution of the XA RECOVER statement;
                                                               在MySQL 8.0之前,任何用户都可以执行XA recover语句来发现未完成的准备XA事务的XID值,这可能导致启动用户以外的用户提交或回滚XA事务。
                                                               在MySQL 8.0中,XA恢复只允许授予具有XA_RECOVER_ADMIN特权的用户,而该权限预计只授予有需要XA_RECOVER_ADMIN权限的管理用户。
                                                               例如,如果XA应用程序的管理员已经崩溃,并且需要找到由应用程序启动的未完成的事务,以便可以回滚它们。
                                                               此特权要求阻止用户发现除自己以外的未准备XA事务的XID值。它不会影响XA事务的正常提交或回滚,因为启动它的用户知道它的XID。