10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册节选

6.4.7.2安装/卸载MySQL企业防火墙

MySQL Enterprise Firewall安装是一个一次性操作,它安装了中描述的元素第6.4.7.1节“MySQL企业防火墙的要素”.可使用图形界面或手动进行安装:

  • 在Windows上,MySQL安装程序包括一个选项,以启用MySQL企业防火墙为您。

  • MySQL Workbench 6.3.4或更高版本可以安装MySQL企业防火墙,启用或禁用已安装的防火墙,或卸载防火墙。

  • 手动安装MySQL Enterprise Firewall涉及到运行位于分享MySQL安装目录。

重要的

在遵循其说明之前,请先阅读整节内容。该过程的部分内容因环境而异。

请注意

如果安装了,MySQL企业防火墙即使在禁用时也会涉及一些最小的开销。为了避免这种开销,除非计划使用防火墙,否则不要安装防火墙。

有关使用说明,请参见第6.4.7.3节“使用MySQL企业防火墙”.有关参考信息,请参见第6.4.7.4节,“MySQL企业防火墙参考”

安装MySQL企业防火墙

如果MySQL企业防火墙已经从旧版本的MySQL安装,请使用本节后面给出的说明卸载它,然后在安装当前版本之前重新启动服务器。在这种情况下,还需要重新注册您的配置。

在Windows操作系统下,可以使用MySQL安装程序安装MySQL企业防火墙,如下所示图6.2“MySQL Enterprise Firewall Installation on Windows”.检查启用MySQL企业防火墙复选框。(开放防火墙端口,用于网络访问有不同的目的。它指的是Windows防火墙,控制Windows是否阻塞TCP/IP端口,MySQL服务器在这个端口上监听客户端连接。

重要的

使用MySQL安装程序安装的MySQL 8.0.19存在一个问题,如果在服务器配置步骤中选择了MySQL企业防火墙,则会阻止服务器启动。如果服务器启动失败,请单击取消结束配置过程并返回仪表板。您必须卸载服务器。

解决方法是运行MySQL安装程序而不选择MySQL企业防火墙。(即,不选择启用MySQL企业防火墙复选框)。然后使用本节后面的手动安装说明安装MySQL Enterprise Firewall。这个问题在MySQL 8.0.20中得到了纠正。

图6.2 MySQL Enterprise Firewall在Windows上的安装

内容在周围的文本中有描述。

使用MySQL Workbench 6.3.4或更高版本安装MySQL企业防火墙,请参见MySQL企业防火墙接口

要手动安装MySQL企业防火墙,请参阅分享目录,并选择适合您的平台的脚本。可用的脚本在引用插件库文件的后缀上有所不同:

  • win_install_firewall.sql: Windows系统使用此脚本. dll作为文件名后缀。

  • linux_install_firewall.sql:对于Linux和类似系统,请选择此脚本所以作为文件名后缀。

安装脚本在默认数据库中创建存储过程,因此请选择要使用的数据库。然后像下面这样运行脚本,在命令行上命名所选的数据库。这里的示例使用mysql系统数据库和Linux安装脚本。为您的系统进行适当的替换。

Shell > mysql -u root -p mysql < linux_install_firewall. shsql输入密码:(此处输入root密码)
请注意

要在源/复制复制、组复制或InnoDB集群上下文中使用MySQL企业防火墙,必须在源节点上运行安装脚本之前准备好复制节点。这是必要的,因为安装插件脚本中的语句不会被复制。

  1. 在每个复制节点上,提取安装插件语句,并手动执行它们。

  2. 在源节点上,按照前面描述的方式运行安装脚本。

使用图形界面或手动安装MySQL企业防火墙应该启用防火墙。为了验证这一点,连接到服务器并执行以下语句:

mysql>显示全局变量像“mysql_firewall_mode”;+---------------------+-------+ | Variable_name |值  | +---------------------+-------+ | mysql_firewall_mode |上  | +---------------------+-------+

如果插件初始化失败,请检查服务器错误日志中的诊断消息。

正在卸载MySQL企业防火墙

MySQL企业防火墙可以通过MySQL工作台卸载,也可以手动卸载。

如果使用MySQL Workbench 6.3.4或更高版本卸载MySQL企业防火墙,请参见MySQL企业防火墙接口,在31章,MySQL工作台

要手动卸载MySQL Enterprise Firewall,请执行以下语句。语句使用如果存在因为,根据之前安装的防火墙版本,有些对象可能不存在,或者可能通过卸载安装它们的插件隐式删除。

DROP TABLE IF EXISTS;删除表IF EXISTS删除表IF EXISTS删除表IF EXISTSDROP TABLE IF EXISTS;卸载插件MYSQL_FIREWALL;卸载插件MYSQL_FIREWALL_USERS;卸载插件MYSQL_FIREWALL_WHITELIST;如果存在firewall_group_delist;如果存在,则删除函数 DROP FUNCTION IF EXISTS mysql_firewall_flush_status; DROP FUNCTION IF EXISTS normalize_statement; DROP FUNCTION IF EXISTS read_firewall_group_allowlist; DROP FUNCTION IF EXISTS read_firewall_groups; DROP FUNCTION IF EXISTS read_firewall_users; DROP FUNCTION IF EXISTS read_firewall_whitelist; DROP FUNCTION IF EXISTS set_firewall_group_mode; DROP FUNCTION IF EXISTS set_firewall_mode; DROP PROCEDURE IF EXISTS mysql.sp_firewall_group_delist; DROP PROCEDURE IF EXISTS mysql.sp_firewall_group_enlist; DROP PROCEDURE IF EXISTS mysql.sp_reload_firewall_group_rules; DROP PROCEDURE IF EXISTS mysql.sp_reload_firewall_rules; DROP PROCEDURE IF EXISTS mysql.sp_set_firewall_group_mode; DROP PROCEDURE IF EXISTS mysql.sp_set_firewall_group_mode_and_user; DROP PROCEDURE IF EXISTS mysql.sp_set_firewall_mode;