10bet网址
MySQL 5.7版本说明
相关的文档10bet官方网站 下载发行说明

MySQL 5.7版本说明/ MySQL 5.7.33的更改(2021-01-18,一般可用性)

MySQL 5.7.33(2021-01-18,一般可用性)更改

优化器的笔记

  • MySQL尝试对任意使用有序索引命令集团查询。限制子句,当优化器确定这样做将导致更快的执行时,该子句将覆盖优化器所做的任何其他选择。因为做出这种判断的算法对数据分布和其他条件做出了某些假设,所以它可能并不总是完全正确的,而且在某些情况下,为此类查询选择不同的优化可能会提供更好的性能。为处理此类事件,现在可以通过设置optimizer_switch系统变量的prefer_ordering_index旗帜

    有关此标志及其使用示例的更多信息,请参见可切换的优化,LIMIT查询优化

    我们感谢杰里米·科尔的贡献。(错误# 31686878)

    参考:参见Bug #97001, Bug #30348211。

安全记录

添加或更改的功能

  • 当使用——所有数据库选项,, mysqldump现在转储mysql数据库,以便在重新加载转储文件时,在定义者其他对象的子句将已经创建。(错误# 32141046)

错误修复

  • InnoDB:全文搜索同步线程试图从索引缓存中读取先前释放的单词。(错误# 31310404)

  • InnoDB:调用numa_all_nodes_ptrnuma_get_mems_allowed ()函数。感谢Daniel Black的贡献。(Bug #24693086, Bug #83044)

  • 复制:当系统变量transaction_write_set_extraction = XXHASH64如果设置了,这是MySQL 8.0的默认值,并且是Group Replication的要求,那么以前事务的写集合没有大小上限。现在,对于标准源到副本复制,写入集的数字限制由binlog_transaction_dependency_history_size之后,写集信息将被丢弃,但事务将继续执行。由于写集信息随后对依赖关系计算不可用,因此事务被标记为非并发,并在副本上按顺序处理。对于Group Replication,从事务中提取写操作的过程需要对所有组成员进行冲突检测和认证,因此如果要完成事务,就不能丢弃写集信息。设置的字节限制group_replication_transaction_size_limit应用而不是数值限制,如果超过限制,则事务将无法执行。(错误# 32019842)

  • 复制:随着从半同步源服务器复制的副本数量的增加,锁定争用可能导致性能下降。插件使用的锁机制已经更改为尽可能使用共享锁,避免不必要的锁获取,并限制回调。新的行为可以通过启用以下系统变量来实现:

    • replication_sender_observe_commit_only = 1限制了回调。

    • replication_optimize_for_static_plugin_config = 1增加共享锁,避免不必要的锁获取。如果要卸载插件,必须禁用该系统变量。

    两个系统变量都可以在安装半同步复制插件之前或之后启用,并且可以在复制运行时启用。半同步复制源服务器还可以通过启用这些系统变量获得性能优势,因为它们使用与副本相同的锁定机制。(错误# 30519928)

  • 复制:在保留提交顺序的多线程副本上,工作线程必须等待中继日志中较早发生的所有事务提交后才能提交自己的事务。如果死锁发生是因为在提交顺序中稍后等待提交事务的线程锁定了提交顺序中较早的事务所需的行,那么死锁检测算法会向等待线程发出信号,让其回滚其事务。以前,如果事务重试不可用,回滚其事务的工作线程将立即退出,而不会在提交顺序中通知其他工作线程,这可能会停止复制。在这种情况下,工作线程现在等待轮到它调用回滚函数,这意味着它正确地向其他线程发出信号。(Bug #26883680, Bug #87796)

  • 复制:gtid仅在服务器实例上可用,不超过有符号64位整数的非负值的数量(2的63 - 1次方)gtid_purged到接近此限制的数字时,后续提交可能导致服务器耗尽gtid并采取指定的操作binlog_error_action.从MySQL 8.0.23开始,当服务器实例接近极限时会发出警告消息。(错误# 26035544)

  • 微软的Windows操作系统:在Windows操作系统下,将MySQL服务器作为服务运行会导致共享内存连接失败。(错误# 32009251)

  • 的所有情况,服务器没有处理WHERE_CONDITION正确地优化。(错误# 31905199)

  • 对于支持主键扩展的引擎,当总键长度超过MAX_KEY_LENGTH或关键部件数量超标MAX_REF_PARTS时,主键中不符合这些限制的关键部分不添加到辅助键中,但主键中的关键部分无条件地标记为辅助键的一部分。

    这导致二级键被当作覆盖索引,这意味着有时会选择错误的访问方法。

    通过修改将主键的关键部分添加到辅助键的方式来解决这个问题,以便清除那些不符合前面提到的限制的关键部分。(错误# 31617858)

  • 一些人的特权INFORMATION_SCHEMA表检查不正确。(错误# 31553323)

  • 在某些情况下,服务器不能正确处理多重嵌套的子查询。(错误# 31472704)

  • 某些帐户可能导致服务器启动失败skip_name_resolve使能系统变量。(错误# 31018510)

  • 如果通信数据包包含坏数据,客户端程序可能会意外退出。(错误# 30890850)

  • 修复了客户端库中的缓冲区溢出。(错误# 30885987)

  • mysql_config_editor错误地处理在密码值中作为注释字符。(Bug #29861961, Bug #95597)