8.4.7.2 安装或卸载 MySQL 企业防火墙
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 版本安装了 MySQL 企业防火墙,请使用后续部分中的指令卸载它,然后重新启动服务器,接着再安装当前版本。在这种情况下,也需要重新注册您的配置。
在 Windows 上,您可以使用第 2.3.2 节,“配置:使用 MySQL 配置器”从Type and Networking
标签中选择启用 MySQL 企业防火墙复选框。(开放防火墙端口以供网络访问具有不同的目的,控制 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=
选项,指定自定义架构名称。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 |
+---------------------+-------+
如果插件初始化失败,请检查服务器错误日志以获取诊断信息。
在源节点运行安装脚本前,在副本节点中准备好副本节点。这是必要的,因为脚本中的 INSTALL PLUGIN
语句不会被复制。
-
在每个副本节点上,提取安装脚本中的
INSTALL PLUGIN
语句,并手动执行它们。 -
在源节点上,运行脚本,如前所述。
卸载MySQL企业防火墙
可以使用 MySQL Workbench 或手动卸载 MySQL Enterprise Firewall。
使用 MySQL Workbench 6.3.4 或更高版本卸载 MySQL Enterprise Firewall,请参见MySQL Enterprise Firewall 接口,在第33章 MySQL Workbench中。
使用命令行卸载 MySQL Enterprise Firewall,请运行安装目录的 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 的插件、表、函数和存储过程。