6.4.6.1 MySQL 企业防火墙组件
MySQL 企业防火墙基于实现以下组件的插件库:
-
一个名为
MYSQL_FIREWALL
的服务器端插件会在执行 SQL 语句之前先对其进行检查,并根据其内存中的缓存来决定执行还是拒绝每个语句。 -
服务器端插件
MYSQL_FIREWALL_USERS
和MYSQL_FIREWALL_WHITELIST
实现了INFORMATION_SCHEMA
table,这些 table 提供了有关防火墙数据缓存的视图。 -
mysql
数据库中名为firewall_users
和firewall_whitelist
的系统 table 提供了防火墙数据的持久存储。 -
名为
sp_set_firewall_mode()
和sp_reload_firewall_rules()
的存储过程执行以下任务,例如在防火墙中注册 MySQL 帐户,构建其操作模式以及 Management 缓存与基础系统 table 之间的防火墙数据传输。 -
一组用户定义的函数为较低级别的任务提供了 SQL 级别的 API,例如将高速缓存与基础系统 table 同步。
-
系统变量启用防火墙配置,状态变量提供运行时操作信息。