MySQL Enterprise Firewall 基于包含以下元素的插件库:
名为的服务器端插件
MYSQL_FIREWALL
会在 SQL 语句执行之前对其进行检查,并根据已注册的防火墙配置文件来决定是执行还是拒绝每个语句。该插件以及名为和 实现性能模式
MYSQL_FIREWALL
的服务器端插件 以及 提供已注册配置文件视图的表。MYSQL_FIREWALL_USERS
MYSQL_FIREWALL_WHITELIST
INFORMATION_SCHEMA
配置文件缓存在内存中以获得更好的性能。系统数据库中的表
mysql
提供防火墙数据的后备存储,以在服务器重新启动时持久保存配置文件。存储过程执行诸如注册防火墙配置文件、建立其操作模式以及管理缓存和持久存储之间的防火墙数据传输等任务。
管理功能为较低级别的任务提供 API,例如将缓存与持久存储同步。
系统变量启用防火墙配置,状态变量提供运行时操作信息。
和权限使用户能够分别管理任何用户的防火墙规则和他们自己的防火墙规则
FIREWALL_ADMIN
。FIREWALL_USER
该
FIREWALL_EXEMPT
权限(自 MySQL 8.0.27 起可用)使用户免受防火墙限制。例如,对于配置防火墙的任何数据库管理员来说,这很有用,可以避免配置错误导致管理员被锁定而无法执行语句的可能性。