MySQL 路由器发行说明  / 2.0 版的变化  /  MySQL Router 2.0.4 的变化(2016-11-23,全面上市)

MySQL Router 2.0.4 的变化(2016-11-23,全面上市)

添加或更改的功能

  • 删除了未使用的 ip_from_addrinfo() 函数。(漏洞#22811176)

  • 添加了 Windows 支持。二进制文件现在可供下载,并添加了几个 Router 命令行选项来为 MySQL Router 配置 Windows 服务。

    Windows 上的新命令行选项是 --install-service(服务自动启动)、--install-service-manual (服务可以手动启动)、 --remove-service(删除服务)和 --service(启动服务)。服务名称是MySQLRouter

    有关这些选项的其他信息,请参阅 启动 MySQL 路由器

修正错误

  • 可执行库和共享库的 RPATH 不包含路由器库路径和路由器插件库路径。(漏洞 #24763533)

  • RPM 构建的可执行文件中的 RPATH 不正确。plugin_folder路径不能设置为可执行文件中不存在的值,路径应该用于变量插值,而不是控制插件的位置。 该错误类似于“错误:mysql_protocol.so:无法打开共享对象文件:没有这样的文件或目录”。

    此外,错误使用了 INSTALL_LIBDIR,这也导致了与路径相关的错误。(错误#24669798,错误#24695503)

  • 当将从发送方(客户端或服务器)读取的数据包写入接收方时,如果单个 write() 调用未写入所有请求的数据,则将在另一次尝试中写入整个缓冲区。现在,只有缓冲区的剩余部分被写入。(缺陷号 24578638)

  • libmysqlharness 的 SO 版本为 0,通常为预发布版本保留。SO 版本更改为 1,因此库文件名从更改 libmysqlharness.so.0libmysqlharness.so.1. (漏洞 #24557123)

  • 在 OS X 上,由于链接问题,默认情况下无法将 Router 链接到 Fabric。(漏洞 #24527866,漏洞 #80376)

  • 未捕获以下语法程序:在 DEFAULT 部分中定义键,并使用包含非标识符字符的选项或部分名称。例如,选项名称或节键中不允许有空格。(缺陷号 24372338)

  • 读写模式(使用第一个可用模式计划)在无法连接到所有列出的服务器后可以重新连接到第一个列出的服务器(目标)。相反,它现在始终按照记录的方式运行,即在所有目的地连接失败后不再重新连接。如果需要重新连接,则改用只读模式,该模式实施循环调度。(缺陷号 24367453)

  • 配置定义(例如文件路径)中的反斜杠可以转义字符。(漏洞#24360999)

  • 在 OS X 上,路由器可能会因 RPATH 相关问题而失败。在为二进制文件执行 cmake 时, CMake 现在对 OS X 使用-DWITH_STATIC=yes。(漏洞 #23507484)

  • 在处理大型数据集(例如 BLOB)时,连接路由插件会因写入错误而终止连接。当从 MySQL 服务器请求连接时,将套接字设置为非阻塞后,通过将套接字正确设置为阻塞来解决此问题。

    此外,几个相关的写入调用现在可以正确检查和报告错误。(漏洞 #23183566)

  • 当 max_connect_errors 变量设置为最大可能值(最高边界值 4294967295)时,连接错误会将值报告为负值,例如 -1。(漏洞 #22745790)

  • 与 max_connections 设置相关的连接处理行为不一致。现在,计数器在路由插件中生成线程之前递增,因为获取服务器套接字需要时间,并且在达到最大连接数后可能会接受客户端连接。(漏洞 #22705168)

  • 插件内部抛出的异常会导致进程无条件终止。(错误#22546709,错误#79983)