-
添加了配置 PID 文件位置的附加功能。这会添加
--pid-file
(命令行)和pid_file
(配置文件)选项。设置ROUTER_PID
环境变量仍然是另一个选项。--bootstrap
执行选项 时无法设置 PID 文件 。(缺陷号 30510827) 添加了对[http_auth_backend]的metadata_cache支持 ;设置 使用它。还添加了可选 和 选项来配置其使用。
backend=metadata_cache
auth_cache_refresh_interval
auth_cache_ttl
添加了两个新的日志级别:“system”,高于“error”,“note”,介于“info”和“debug”之间。
路由器在 Debian (
/var/run/mysqlrouter
) 上的默认数据目录在系统重置之间没有保留。密钥环和state.json
文件都存储在这里,因此路由器在系统重置后无法运行。现在/var/lib/mysqlrouter
改为使用。此外,安装过程现在会检测现有配置文件并将其移动到新位置。(漏洞 #31029334,漏洞 #98914)当使用 Shell/AdminAPI cluster.remove_instance() 删除主节点时,使用元数据 2.0 (Shell 8.0.19+) 的 InnoDB Cluster 的路由失败。路由失败,因为 Router 作为预防措施刷新了路由表。(缺陷号 30733189)
当队列已满时 添加缺少的raise语句。感谢 Rastislav Masaryk 提供的补丁。(错误#30643277,错误#97938)
内部元数据查询受全局 MySQL 服务器设置的影响;但现在 Router 显式设置会话参数以使元数据查询和更新保持一致。这些设置是 group_replication_consistency、autocommit、sql_mode、character_set_client、character_set_results 和 character_set_connection。(错误#30631442,错误#97764)
Router 将其主线程从“mysqlrouter”重命名为“main”以方便调试,但这意味着执行“killall mysqlrouter”将找不到该进程;而不是“killall main”。该过程不再重命名。(缺陷号 30611421)
查看整个 MySQL Router 界面的帮助文本和错误消息;并提高了可读性。(错误#30523166、错误#30889974、错误#29138501、错误#29132761、错误#30895659、错误#29428293、错误#29132728、错误#29361447)
当针对 MySQL 5.7 使用时, Group Replication notifications (
use_gr_notifications
) 将记录有关缺少 MySQL 系统变量的警告,mysqlx_wait_timeout
因为此变量已添加到 MySQL 8.0 中。此警告不再存在。(漏洞 #30478016,漏洞 #97414)-
AppArmor 处于活动状态(Ubuntu/Debian)时,引导失败,因为它无法写入临时(状态)文件,因为路由器的 AppArmor 配置文件不允许写入 (var)/run/mysqlrouter。AppArmor 配置文件已相应更新。
AppArmor 处于活动状态(Ubuntu/Debian)时,路由器会忽略全局 SSL 配置;AppArmor 配置文件已更新为
/etc/ssl/openssl.conf
. (缺陷号 30339399) MySQL Router 配置文件需要尾随换行符。(缺陷号 28970487)
处理溶解的簇时改进了错误报告。例如,错误文本“提供的服务器包含不受支持的 InnoDB 集群元数据。” 已更改为“预期元数据服务器包含一个集群的配置,但没有找到”。(缺陷号 28365867)