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 企业防火墙复选框来安装 MySQL 企业防火墙。(打开防火墙端口以进行网络访问具有不同的用途。它指的是 Windows 防火墙,并控制 Windows 是否阻止 MySQL 服务器侦听客户端连接的 TCP/IP 端口。)
要使用 MySQL Workbench 安装 MySQL 企业防火墙,请参阅MySQL 企业防火墙界面。
要手动安装 MySQL 企业防火墙,请查看 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=
选项启动服务器。插入要用作防火墙数据库的自定义模式的名称。数据库名称
通过在选项前加上
--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 |
+---------------------+-------+
如果插件初始化失败,请检查服务器错误日志以获取诊断消息。
要在源/副本复制、组复制或 InnoDB 集群的上下文中使用 MySQL 企业防火墙,您必须在源节点上运行安装脚本之前准备好副本节点。这是必要的,因为脚本中的 INSTALL PLUGIN
语句不会被复制。
在每个副本节点上,从安装脚本中提取
INSTALL PLUGIN
语句并手动执行它们。在源节点上,如前所述运行安装脚本。
可以使用 MySQL Workbench 或手动卸载 MySQL 企业防火墙。
要使用 MySQL Workbench 6.3.4 或更高版本卸载 MySQL 企业防火墙,请参阅 MySQL 企业防火墙界面,位于 第 33 章,MySQL Workbench。
要在命令行卸载 MySQL 企业防火墙,请运行位于 MySQL 安装的 share
目录中的卸载脚本。此处的示例指定了系统数据库 mysql
。
$> mysql -u root -p -D mysql < uninstall_firewall.sql
Enter password: (enter root password here)
如果在安装 MySQL 企业防火墙时创建了自定义架构,请对系统进行适当的替换。
$> mysql -u root -p -D database-name < uninstall_firewall.sql
Enter password: (enter root password here)
此脚本将删除 MySQL 企业防火墙的插件、表、函数和存储过程。