MySQL 企业防火墙的安装是一次性操作,安装了第 8.4.7.1 节,“MySQL 企业防火墙元素”中描述的元素。安装可以使用图形界面或手动进行:
-
在 Windows 上,MySQL 配置器包括启用 MySQL 企业防火墙的选项。
-
MySQL Workbench 6.3.4 或更高版本可以安装 MySQL 企业防火墙,启用或禁用已安装的防火墙,或者卸载防火墙。
-
手动安装 MySQL 企业防火墙涉及在 MySQL 安装的
share
目录中运行一个脚本。
在按照本节中的说明之前,请阅读整个节。
如果安装了 MySQL 企业防火墙,即使禁用了防火墙,也会产生一些最小的开销。为了避免这种开销,请不要安装防火墙,除非您计划使用它。
有关使用说明,请参阅 第 8.4.7.3 节,“使用 MySQL 企业防火墙”。有关参考信息,请参阅 第 8.4.7.4 节,“MySQL 企业防火墙参考”。
如果 MySQL 企业防火墙已经从旧版本的 MySQL 安装了,请按照本节后面的说明卸载它,然后重新启动服务器,然后安装当前版本。在这种情况下,还需要重新注册配置。
在 Windows 上,您可以使用 第 2.3.2 节,“配置:使用 MySQL 配置器” 安装 MySQL 企业防火墙,方法是从 Type and Networking
选项卡中选择 启用 MySQL 企业防火墙 复选框。(Open Firewall port for network access 有不同的目的。它指的是 Windows 防火墙,并控制 Windows 是否阻止 MySQL 服务器监听的 TCP/IP 端口。)
要使用 MySQL Workbench 安装 MySQL 企业防火墙,请参阅 MySQL 企业防火墙界面。
要手动安装 MySQL 企业防火墙,请在 MySQL 安装的 share
目录中查找适合您平台的脚本。可用的脚本在文件名中有所不同:
-
win_install_firewall.sql
-
linux_install_firewall.sql
安装脚本在指定的防火墙数据库中创建存储过程和表格。传统的存储选项是 mysql
系统数据库,但是建议您创建和使用自定义模式来存储防火墙数据库。
要使用 mysql
系统数据库,请从命令行运行脚本,如下所示。请为您的系统进行适当的替换。
$> mysql -u root -p -D mysql < linux_install_firewall.sql
Enter password: (enter root password here)
要创建和使用自定义模式,请执行以下操作:
-
使用
--loose-mysql-firewall-database=
选项启动服务器。将自定义模式的名称插入到防火墙数据库中。database-name
通过在选项前面加上
--loose
,程序不会发出错误并退出,而是发出警告。 -
启动 MySQL 客户端程序,并在服务器上创建自定义模式。
mysql> CREATE DATABASE IF NOT EXISTS database-name;
-
运行脚本,指定自定义模式作为 MySQL 企业防火墙的数据库。
$> mysql -u root -p -D database-name < linux_install_firewall.sql Enter password: (enter root password here)
使用图形界面或手动安装 MySQL 企业防火墙应该启用防火墙。要验证这一点,请连接到服务器并执行以下语句:
mysql> SHOW GLOBAL VARIABLES LIKE 'mysql_firewall_mode';
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| mysql_firewall_mode | ON |
+---------------------+-------+
如果插件无法初始化,请检查服务器错误日志中的诊断消息。
在使用 MySQL Enterprise Firewall 与源/副本复制、组复制或 InnoDB 集群时,必须在运行安装脚本之前在副本节点上进行准备。这是必要的,因为安装脚本中的 INSTALL PLUGIN
语句不会被复制。
-
在每个副本节点上,从安装脚本中提取
INSTALL PLUGIN
语句,并手动执行它们。 -
在源节点上,按照之前的描述运行安装脚本。
MySQL Enterprise Firewall 可以使用 MySQL Workbench 或手动卸载。
要使用 MySQL Workbench 6.3.4 或更高版本卸载 MySQL Enterprise Firewall,请参阅 MySQL Enterprise Firewall 界面,在 第 33 章 MySQL Workbench。
要在命令行卸载 MySQL Enterprise Firewall,请运行位于 MySQL 安装目录的 share
目录中的卸载脚本。这里的示例指定了系统数据库 mysql
。
$> mysql -u root -p -D mysql < uninstall_firewall.sql
Enter password: (enter root password here)
如果您在安装 MySQL Enterprise Firewall 时创建了自定义模式,请对您的系统进行适当的替换。
$> mysql -u root -p -D database-name < uninstall_firewall.sql
Enter password: (enter root password here)
该脚本将删除 MySQL Enterprise Firewall 的插件、表、函数和存储过程。