-
InnoDB: 新
innodb_numa_interleave
的只读配置选项允许您启用 NUMA 交错内存策略以分配InnoDB
缓冲池。启用时innodb_numa_interleave
,NUMA 内存策略设置为MPOL_INTERLEAVE
用于 mysqld进程。InnoDB
分配缓冲池 后NUMA
内存策略设置回MPOL_DEFAULT
。此选项仅在支持 NUMA 的 Linux 系统上可用。感谢 Stewart Smith 提供的补丁。(错误#18871046,错误#72811)
RPM
.spec
文件已更新,因此从源 RPM 包构建的 MySQL 服务器将包含适当的文件以利用操作系统 NUMA 功能。这引入了对libnuma.so.1
. RPM 和yum 检测到这一点,如果没有安装该库,则拒绝安装。(漏洞 #21775221)
创新数据库;Microsoft Windows:
lower_case_table_names=0
在不区分大小写的文件系统上进行 设置 使用错误的字母大小写运行操作。当尝试在 不区分大小写的文件系统上启动服务器时,现在会打印一条错误消息并退出服务器。(缺陷 #20198490,缺陷 #75185)INSERT INTO ... SELECT ... FROM
tbl_name
tbl_name
--lower_case_table_names=0
InnoDB: 重新加载空表时被逐出的表会导致
AUTO_INCREMENT
值被重置。(缺陷 #21454472,缺陷 #77743)InnoDB: 内存分配完整性检查已添加到 memcached代码中。(缺陷号 21288106)
InnoDB: memcached命令
flush_all
引发断言。从断言代码中调用了启动事务的函数。(错误#21239299,错误#75199)InnoDB: ARM64 上发生数据损坏。设置或取消设置锁定字时,GCC 内置程序未发出正确的围栏。(缺陷 #21102971,缺陷 #76135)
InnoDB: 服务器关闭延迟等待清除线程退出。为避免此问题,减少了调用
trx_purge()
次数,并将trx_purge()
批处理大小减少到 20。(缺陷 #21040050)InnoDB: 在
READ COMMITTED
模式下,REPLACE
对唯一二级索引的操作导致约束冲突。感谢 Alexey Kopytov 提供的补丁。(缺陷 #21025880,缺陷 #76927)InnoDB: 该
IBUF_BITMAP_FREE
位表示叶页中的可用空间多于实际可用空间。(缺陷号 20796566)-
InnoDB: 服务器无法以
innodb_force_recovery
大于 3 的设置InnoDB
。在应用重做日志之前设置为只读模式。DROP TABLE
现在支持innodb_force_recovery
大于 3 的设置。(缺陷 #19779113) InnoDB: 该
trx_sys_read_pertable_file_format_id()
函数报告了错误的文件格式。(漏洞 #19206671)打包; OS X:在 OS X 上安装期间 使用
user=mysql
不允许mysql
安装数据库。为解决此问题,OS X 软件包现在--no-defaults
在创建此数据库时使用该选项。这也意味着my.cnf
系统上有文件不再影响安装。(缺陷号 21364902)分区:
CREATE TABLE
在子分区表达式中使用无效函数的语句并不总是像预期的那样优雅地失败。(缺陷号 20310212)分区:
ALTER TABLE
未正确执行针对未分区表 的失败分区相关操作的错误处理分区:
ALTER TABLE
从存储过程执行时,并不总是能正确处理由RANGE
. (错误#77333、错误#16613004、错误#21246891)复制:在表上的长时间写锁定期间 重复检查 ERR_LOCK_WAIT_TIMEOUT(如所做,例如通过重复执行
SHOW SLAVE STATUS
)导致断言。(缺陷号 21095969)复制: 如果使用基于语句的日志记录,当在单个语句中更新多个表时,单个事务可能被记录为两个不同的事务。这是由于二进制日志记录过程没有正确识别在事务表上运行的语句。该修复可确保正确识别它们,即使此类语句不会更改表的内容。(错误#16621582,错误#21349028)
-
复制: 当转储线程在转储不活动的二进制日志时被杀死时,此日志中的某些事件可能会被跳过,因此不会被复制。(错误#78337,错误#21816399)
参考资料:另请参阅:Bug #74607、Bug #19975697。
-
复制: 在某些情况下,
Retrieved_Gtid_Set
从站上可能包含间隙,而Executed_Gtid_Set
从站的二进制日志中没有出现间隙。这可能发生在 slave 旋转中继日志时,该日志的最后一个事件包含设置的记录,gtid_next
然后在从以下日志中读取 GTID 后重新启动。重启后,Retrieved_Gtid_Set
包含错误执行的 GTID 以及虚假或“幻影”间隙。TYhe 修复了这个问题,
Retrieved_Gtid_Set
在将事件写入中继日志之前添加了一个 GTID,而不是之后。如果由于某种原因写入中继日志失败,GTID 将从Retrieved_Gtid_Set
. (错误#76959,错误#21046372)参考资料:另请参阅:错误 #17943188。
复制:
SAVEPOINT
并ROLLBACK TO SAVEPOINT
在触发器内导致断言。(错误#76727,错误#20901025)复制: 在
SHOW BINLOG EVENTS
执行语句时,任何并行事务都被阻止。此修复可确保SHOW BINLOG EVENTS
进程现在仅在计算文件结束位置期间获取锁,因此并行事务不会长时间阻塞。(错误#76618,错误#20928790)复制: 如果一个
CREATE VIEW
语句失败,它被错误地写入二进制日志,即使它没有导致创建部分视图。此修复可确保此类语句不会记录在二进制日志中。此外还发现,当一个在主服务器上失败的语句被一个带有预期错误的从服务器接收到时,如果该语句在从服务器上被跳过,例如由于复制过滤器,预期错误将与实际错误进行比较从机上发生的错误。该修复确保如果从站接收到具有预期错误的语句,如果该语句未被过滤,则仅将其与从站上发生的实际错误进行比较。(错误#76493,错误#20797764)复制:在日志轮换期间发生硬件故障后 ,指定的操作
binlog_error_action
并不总是正确执行。(错误#76379,错误#20805298)复制: 修改事务的
master_info_repository
或relay_log_info_repository
内部,然后回滚该事务,使存储库处于不可用状态。我们通过防止在事务中对这些存储库进行任何修改来解决此问题。(缺陷 #74950,缺陷 #20074353)复制:设置 时
relay_log_recovery
,报告新恢复位置的错误日志条目已扩展为还报告旧中继日志位置。(错误#74089,错误#21305976)复制: 当主服务器 正在复制到从服务器时
--binlog_checksum=none
, 重新启动从服务器的 SQL 线程会导致事件 crc 检查错误。这是因为 在重新启动从属服务器的 SQL 线程后,无法在现有的中继日志中正确找到来自主服务器的请求。该修复确保 正确跳过,并 在重新启动从属 SQL 线程后在现有中继日志中找到正确的。(错误#73806、错误#20644100、错误#76746、错误#20909880)--gtid-mode=ON
--binlog_checksum=crc32
Format_description_log_event
Previous_gtids_log_event
Format_description_log_event
-
复制: 使用
relay_log_info_repository=TABLE
,在mysql.slave_relay_log_info
提交事务或显式执行刷新时更新表,例如在中继日志轮换期间。如果使用任何非事务性表(例如MyISAM
表)的事务跨多个中继日志拆分,则它会在中继日志刷新时部分提交。当 时gtid_mode=ON
,这导致相同的 GTID 用于事务的剩余部分,从而引发ER_GTID_NEXT_TYPE_UNDEFINED_GROUP
错误。在这种情况下,我们通过推迟通常在中继日志轮换时发生的中继日志信息存储库的更新来解决此问题,直到已执行相关事务的提交。
此问题不会影响使用事务存储引擎(例如
InnoDB
. (缺陷 #68525,缺陷 #16418100)参考资料:另请参阅:Bug #21630907、Bug #76974。
CMake检查 NUMA 可用性可能会导致在不支持 NUMA 的平台上出现编译问题 。(缺陷号 21774859)
某些子查询作为参数
PROCEDURE ANALYSE()
可能会导致服务器退出。(漏洞 #21350175)如果
SELECT ... FOR UPDATE
子查询导致死锁并导致回滚,则可能会由于不正确的错误处理而引发断言。(缺陷号 21096444)选择
INSERT()
以十六进制字符串形式传递输入的函数调用的结果可能会公开比传递给函数更多的信息。(缺陷号 21056907)视图的可更新属性是在视图创建期间设置的。如果基础表被删除并重新创建为不可更新的表,则原始视图的可更新属性不会相应修改。这可能会导致服务器退出以尝试插入或替换到视图中。(此问题特定于具有多个表/视图的视图,并且不会发生在更新语句中。)(缺陷 #21039264)
链接到 yaSSL 并使用 GCC 4.8.2 编译的服务器可能无法正确响应连接尝试,直到启动后几秒钟。(缺陷号 21025377)
对于具有子分区的表,如果可以识别分区但不能识别子分区,则服务器可能会由于分区修剪期间不正确的错误处理而退出。(缺陷号 20909518)
DELETE
当使用表别名时,可以检查错误数据库的权限。(缺陷号 20777016)在触发器中,使用访问行中的游标
OLD
或NEW
值可能会导致服务器退出。(缺陷号 20760261)某些选项的长路径名值可能导致堆栈溢出。(缺陷号 20376760)
当 MySQL 无法解释给定字符集中的字符时,有时不会产生警告。(缺陷号 20238729)
在 Windows 上,该
validate_password
插件可能会导致服务器在字典检查期间退出。(漏洞#18636874)在 Windows 上,设置
query_cache_min_res_unit
过大的值可能会导致值为 0 并导致随后的服务器退出。(漏洞#18487951)EXPLAIN
包含GROUP_CONCAT()
可能导致服务器退出的语句。(漏洞 #17865675)在 Windows 上,审计日志插件中的堆损坏导致服务器启动失败。(漏洞 #14700102)
datadir
如果配置文件包含多行, RPM 安装脚本将失败。现在使用最后datadir
一行。(错误#77878,错误#21527467)对于等待事件,性能模式
CYCLE
默认使用定时器,但如果不可用则无法回退到不同的定时器CYCLE
。(错误#77577,错误#21374104)在同一 语句中 更新
VARCHAR
和 列可能会产生不正确的结果。当一个 列被分配给一个 列,然后该列被设置为一个不同的值时,该 列的结果包含该列的新值。(错误#77135,错误#21143080)TEXT
UPDATE
VARCHAR
TEXT
VARCHAR
TEXT
VARCHAR
如果
INFORMATION_SCHEMA
执行表打开操作的查询遇到损坏的表并试图修复它,则可能会发生死锁,从而导致事务中止而没有报告适当的错误。这样的查询现在不尝试表修复。(错误#76912,错误#21021848)mysqladmin -u root -p可能会因分段错误而退出。(错误#76538,错误#20802751)
mysqlimport --use-threads实际上并没有使用多线程。(错误#76480,错误#20772273)
优化器有时会为派生表(子句中的子查询
FROM
)生成索引。如果在存储程序中执行的语句发生这种情况,则可能会发生内存泄漏。(错误#76349,错误#20728894)对于 OS X 10.9 软件包,
version_compile_os
系统变量指示 10.8。(错误#75581,错误#20400501)优化器在为运算符优化范围扫描时可能会错误地假定内存不足的情况
OR
,从而导致高估符合条件的行数。(错误#75248,错误#20229614)在
char
未签名的平台上,服务器无法解析包含非 7 位 ASCII 字符的归类定义。受影响的平台包括 ARM 和 PowerPC。感谢 Alexey Kopytov 提供的补丁。(错误#74891、错误#20928289、错误#21682439)当其他列指示存在错误时,
events_statements_history
Performance Schema 表的ERRORS
列值可能为 0。(错误#74614,错误#19929832)如果另一个语句中的语句 多次使用相同的列名,则 视图创建
UNION
失败并出现重复列错误 。(错误#74539,错误#19886430)SELECT
UNION
语句
<element/>
未正确处理 具有 表单的空 XML 元素 。LOAD XML
(漏洞 #67542,漏洞 #16171518)