之前,引导会为多主机模式生成读写 (PRIMARY) 和只读 (SECONDARY) 配置路由部分,但对于单主机模式只会生成读写部分。现在,始终生成读写和只读部分。
-
引导现在
routing_strategy
在生成的配置文件中设置新值。读写(主要)部分将 routing_strategy 设置为first-available
;和只读 (SECONDARY) 部分将其设置为round-robin-with-fallback
. 以前,它们都设置为round-robin
.默认行为(例如,如果 routing_strategy 未在 中定义
mysqlrouter.conf
)没有改变并且仍然是循环法。 添加了通过在 SIGHUP 上重新打开基于文件的日志文件来集成外部日志轮换应用程序的能力。在 Linux 上,这允许集成系统范围的
logrotate
实用程序。在 Windows 上,添加了向 Windows 应用程序事件日志报告事件的功能。
-
添加了一个新的
sinks
配置文件选项来定义一个或多个记录器接收器。例如,所有 level=debug 消息都可以发送到文件,而只有 level=error 消息被发送到事件日志。支持的接收器是:Windows 上的consolelog、 filelog、eventlog和基于 Unix 的系统上的 syslog 。
-
基于 libevent 的 HTTP 库添加了 HTTP 接口。它使用包含以下选项的新 [http_server] 配置部分进行配置:
port
:监听HTTP请求的TCP端口;它默认为 8011。bind_address
: 绑定到的IPv4地址port
; 它默认为 0.0.0.0。static_folder
: 静态文件请求的基本目录;默认情况下它是空的。空值表示不提供静态文件。require_realm
:[http_auth_realm] 实例的名称。ssl
:值 1 启用 SSL,0 禁用它。需要支持 TLSv1.2 或更高版本的 TLS 客户端。ssl_cert
: PEM 格式的证书及其链证书的文件名;如果 ssl=1,则需要。ssl_key
:PEM格式的密钥文件名;如果 ssl=1,则需要。ssl_cipher
: 密码规范(参见 openssl 的“密码”列表)。默认为所有已批准密码的逗号分隔列表。未知的密码被默默地忽略。如果密码列表为空且 ssl=1,则失败。ssl_dh_param
:从该文件中以 PEM 格式读取 DH 参数。如果 ssl=1,则默认使用 RFC 5114 中的 dh-param。
-
添加了一个
mysqlrouter_passwd
工具来管理 HTTP 服务器组件的密码。添加了两个新的 HTTP 配置部分;[http_auth_backend] 和 [http_auth_realm]。两者都是可选的,并且允许多个定义。选项有:
[http_auth_backend]
backend
:后端实现的名称;它默认为文件。filename
: 后端存储文件的名称,相对于data_folder
目录。
[http_auth_realm]
backend
:[http_auth_backend] 部分的名称。method
:HTTP认证方式;默认为基本。require
:要求用户通过身份验证后端进行验证;默认为有效用户,启用此检查。name
:呈现给身份验证用户的领域名称。
使用 VT100 标准将彩色文本区分添加到 MySQL Router 的控制台输出中。
AppArmor 现在被授予读/写访问权限,
/var/lib/mysqlrouter/
而不是其中的特定文件,以允许在那里动态生成其他文件。(缺陷 #29341853,缺陷 #94282)在 Windows 上,在区分大小写的文件系统上构建不会找到名为
MSG000001.bin
. (漏洞#29278749)无法在运行时重新引导路由器。相反,需要事先停止服务。(缺陷 #29271620,缺陷 #94015)
state.json
如果所有 MySQL 服务器都关闭, 缓存的元数据信息 ( ) 将缓存一个空列表;这导致重新启动 MySQL Router 失败。不再缓存空列表。(缺陷 #29264755,缺陷 #94057)在 Debian 上,
apt-get purge
现在dpkg --purge
删除/var/lib/mysqlrouter
和/run/mysqlrouter
目录。(漏洞 #29171561)从.deb
mysqlrouter.log
包安装会在 目录中创建一个空的(未使用的)日志文件/
。(缺陷号 29170728)添加了对 Windows 的 Clang 7 支持,并修复了 Clang 8 警告。(错误#29003649,错误#29015491)
在引导过程中创建的动态配置文件被分配了与静态配置文件相同的权限,它是只读的。这意味着 Router 无法在 Windows 上作为服务运行。Windows 本地服务用户现在可以写入该文件。(缺陷号 28930180)
当作为服务在 Windows 上运行时,路由器现在将在路由器进程打开日志文件之前遇到的错误报告到 Windows 事件日志。在将它们发送到不存在的控制台之前,消息丢失了。(漏洞#28261178)