MySQL Enterprise 防火墙安装是一次性操作,它会安装在 第 8.4.7.1 节,“MySQL Enterprise 防火墙的要素” 中描述的元素。安装可以使用图形界面或手动完成
在 Windows 上,MySQL 配置器包含一个选项,可以为您启用 MySQL Enterprise 防火墙。
MySQL Workbench 6.3.4 或更高版本可以安装 MySQL Enterprise 防火墙,启用或禁用已安装的防火墙,或卸载防火墙。
手动安装 MySQL Enterprise 防火墙涉及运行位于 MySQL 安装的
share
目录中的脚本。
在遵循其说明之前,请阅读本节的全部内容。过程的某些部分因您的环境而异。
如果已安装,即使已禁用,MySQL Enterprise 防火墙也涉及一些最小开销。为了避免这种开销,请勿安装防火墙,除非您计划使用它。
有关用法说明,请参见 第 8.4.7.3 节,“使用 MySQL Enterprise 防火墙”。有关参考信息,请参见 第 8.4.7.4 节,“MySQL Enterprise 防火墙参考”。
如果 MySQL Enterprise 防火墙已从旧版本的 MySQL 安装,请使用本节后面给出的说明将其卸载,然后在安装当前版本之前重新启动服务器。在这种情况下,还需要重新注册您的配置。
在 Windows 上,您可以使用 第 2.3.2 节,“配置:使用 MySQL 配置器” 通过选中 类型和网络
选项卡中的 启用 MySQL Enterprise 防火墙 复选框来安装 MySQL Enterprise 防火墙。(打开防火墙端口以进行网络访问 具有不同的目的。它指的是 Windows 防火墙,并控制 Windows 是否阻止 MySQL 服务器监听客户端连接的 TCP/IP 端口。)
要使用 MySQL Workbench 安装 MySQL Enterprise 防火墙,请参见 MySQL Enterprise 防火墙界面。
要手动安装 MySQL Enterprise 防火墙,请查看 MySQL 安装的 share
目录,并选择适合您平台的脚本。可用脚本在用于引用脚本的文件名方面有所不同
win_install_firewall.sql
linux_install_firewall.sql
安装脚本会在您运行脚本时在您指定的防火墙数据库中创建存储过程和表。 mysql
系统数据库是传统的存储选项,但是,建议您为此目的创建和使用自定义架构。
要使用 mysql
系统数据库,请从命令行运行脚本。以下示例使用 Linux 安装脚本。对您的系统进行适当的替换。
$> 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 Enterprise 防火墙的数据库。
$> mysql -u root -p -D database-name < linux_install_firewall.sql Enter password: (enter root password here)
使用图形界面或手动安装 MySQL Enterprise 防火墙应启用防火墙。要验证这一点,请连接到服务器并执行以下语句
mysql> SHOW GLOBAL VARIABLES LIKE 'mysql_firewall_mode';
+---------------------+-------+
| Variable_name | Value |
+---------------------+-------+
| mysql_firewall_mode | ON |
+---------------------+-------+
如果插件初始化失败,请检查服务器错误日志以获取诊断消息。
要在源/副本复制、组复制或 InnoDB 集群的上下文中使用 MySQL Enterprise Firewall,您必须在源节点上运行安装脚本之前准备副本节点。这是必需的,因为脚本中的 INSTALL PLUGIN
语句不会被复制。
在每个副本节点上,从安装脚本中提取
INSTALL PLUGIN
语句,并手动执行它们。在源节点上,按照前面描述的步骤运行安装脚本。
可以使用 MySQL Workbench 或手动卸载 MySQL Enterprise Firewall。
要使用 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 的插件、表、函数和存储过程。