此版本的已知限制:
InnoDB
由于新引入的损坏检查功能,可能无法打开具有多个数据文件的表空间。如果您的共享表空间有多个文件,建议您不要升级到此版本InnoDB
。如果您已升级到受影响的版本并且服务器不再启动,您可以在可用时升级到更高版本或降级到更早版本。
如果您有InnoDB
带有全文搜索索引的表,并且您正在从 MySQL 5.6.10 升级到 MySQL 版本(包括 MySQL 5.6.18),则服务器将在升级后无法启动(错误#72079)。此错误已在 MySQL 5.6.19 中修复。解决方法是在升级之前删除全文搜索索引,并在升级完成后重建全文搜索索引。
mysql_upgrade现在验证服务器版本是否与编译它的版本相匹配,如果不匹配则退出。此外,一个
--version-check
选项允许指定是否启用版本检查(默认),或者如果给定则禁用检查--skip-version-checking
。(漏洞 #16500013)
-
不兼容的更改: 当用于现有 MySQL 帐户时, 表行 中命名的插件不同的身份验证插件的子句,
GRANT
语句可能会产生意外结果IDENTIFIED WITH
mysql.user
因为
IDENTIFIED WITH
仅用于GRANT
创建新用户的语句,所以如果指定的帐户已经存在,现在将被禁止。(漏洞 #16083276) -
重要变更;复制: 当服务器运行
--binlog-ignore-db
并 返回 (即,当前没有选择的数据库),使用完全限定表名的语句 。 格式未写入二进制日志。这是因为在这种情况下缺少当前选择的数据库被视为匹配任何可能的忽略选项,而不是没有这样的选项;这意味着这些陈述总是被忽略。SELECT
DATABASE()
NULL
dbname
tblname
现在,如果没有当前数据库,则始终将使用完全限定表名的语句写入二进制日志。(缺陷 #11829838,缺陷 #60188)
创新数据库;分区: 涉及
InnoDB
具有一列或多BLOB
列的分区表的联接并不总是能得到正确处理。一个BLOB
或多个列不需要是连接列,或者在包含连接的语句中以其他方式命名或引用,才会发生此问题。(漏洞#16367691)InnoDB: 在调试版本中,执行全表复制的在线
ALTER TABLE
操作会引发断言。该断言是由于在 BLOB 检索期间将表修改日志应用于除最后一个日志块之外的任何日志块时会发生的竞争条件。此修复修改row_log_table_apply_convert_mrec()
以确保获取索引 B 树锁以保护对log->blobs
BLOB 页面的访问。(漏洞#16774118)InnoDB: 当函数
trx_rollback_or_clean_recovered()
在崩溃恢复期间回滚或清理事务时,它会从trx_sys
列表中删除 trx 对象,而不释放这些对象使用的内存。为防止内存泄漏,此修复添加了对删除 trx 对象的函数的trx_free_for_background()
调用trx_rollback_resurrected()
(漏洞#16754776)InnoDB:
dict_check_tablespaces_and_store_max_id()
当space_id
等于零 会发生内存泄漏 (漏洞 #16737332)InnoDB:输出 中缺少逗号
SHOW STATUS
会破坏 MySQL Enterprise Monitor 解析。(漏洞#16723686)InnoDB: 干净关闭后,
InnoDB
不在.ibd
启动时检查文件头。因此,在崩溃恢复情况下,InnoDB
可能会加载损坏的表空间文件。此修复实施一致性和状态检查以避免加载损坏的文件。(漏洞 #16720368)InnoDB: 此修复解决了在已恢复事务的回滚和锁定操作中创建二级索引之间可能发生的竞争条件。竞争条件会破坏二级索引。(漏洞 #16593427)
InnoDB: 压缩临时表上的 DML 操作会导致缓冲区管理器堆栈中出现 Valgrind 错误。(漏洞 #16593331)
InnoDB: 对于
ALTER TABLE
操作InnoDB
的表操作,表上的其他事务可能会在复制过程中失败。但是,如果此类事务发出部分回滚,则回滚将被视为完整回滚。(漏洞 #16544143)InnoDB: 线程
recv_writer
只会在所有重做日志扫描完成后启动。在多次重做日志扫描的情况下,累积的重做记录将在每次扫描之后和处理下一次扫描之前应用。缺少recv_writer
帮助刷新的线程会减慢恢复速度或导致服务器启动超时。此修复可确保recv_writer
线程在处理第一个扫描批次之前启动。(漏洞 #16501172)InnoDB: 在某些情况下,LRU 刷新会花费很长时间,可能会影响所有刷新活动并导致关闭超时。(漏洞 #16500209)
InnoDB: 当字符集表
InnoDB
memcachedtest.demo_test
表无法工作utf8
(漏洞 #16499038)InnoDB: 在线程被迫进行单页刷新的情况下,
fsync()
将为所有数据文件触发。此修复允许同步单页刷新。(漏洞 #16477781)InnoDB: 此修复
OS_THREAD_SLEEP
从 InnoDB 中删除了对的大多数调用。(错误#16472953,错误#68588)InnoDB:
FLUSH TABLES ... FOR EXPORT
从缓冲池中刷新页面时经常休眠。(漏洞 #16471701)InnoDB: 并发插入全文表会导致部分插入失败。在对隐藏的全文搜索文档 ID 列执行插入操作时,会为全文搜索文档 ID 生成重复值。(漏洞#16469399)
InnoDB: 该
page_zip_available
函数会对某些字段进行两次计数。(漏洞 #16463505)InnoDB: 此修复将
IB_ULONGLONG_MAX
常量LSN_MAX
为代码引用日志序列号的TRX_ID_MAX
位置trx->no
为初始化为未定义值的位置。此更改不会改变常量的值。(漏洞 #16458660)InnoDB: 此修复更正了 InnoDB 错误 6025 的文本,该文本指出 “ InnoDB:无法在 ./ib_logfile0 模式下打开读取。”。更正后的消息指出, “ InnoDB: ./ib_logfile0 无法以读取模式打开。”消息结构中的变量和模式被调换了。(漏洞#16434398)
InnoDB:使用该算法 创建外键约束 设置为 0 ()。因此,不会执行适当的重复 ID 检查。(漏洞 #16413976)
ALTER TABLE
INPLACE
foreign_key_checks
SET foreign_key_checks = 0;
InnoDB: 在调试版本中,插入失败,断言无效:
sync_thread_levels_g(array, level - 1, TRUE)
。(漏洞 #16409715)InnoDB: 多个并发调用
dict_update_statistics()
将导致不必要的服务器负载。(漏洞 #16400412)InnoDB: 在 64 位 Windows 构建中,
INNODB_BUFFER_POOL_SIZE
不会接受超过 32GB 的分配。此限制是由于一个错误,该错误在 64 位 Windows 构建中将 InnoDB 缓冲池大小的内部值截断为 32 位。(漏洞 #16391722,漏洞 #68470)InnoDB:
DROP DATABASE
如果数据库包含一个 InnoDB 表,该表在外部数据目录中有一个数据文件,则失败。外部数据文件具有 MySQL 无法识别的“ InnoDB 符号链接”文件类型 (.isl
此修复程序添加了.isl
一个已知的 InnoDB 文件类型。(漏洞 #16338667)InnoDB:
RENAME TABLE
由于 MySQL mutex 获取死锁会导致挂起。(漏洞 #16305265)InnoDB: 在测试
FLUSH TABLES
由于缺少清除线程已停止的确认,操作导致超时。(漏洞#16277387)InnoDB: 对于压缩表,页面重组操作总是将
MLOG_ZIP_PAGE_REORGANIZE
记录写入重做日志,只有在innodb_log_compressed_pages=OFF
. 当 时innodb_log_compressed_pages=ON
,页面重组操作应该记录压缩页面图像。(漏洞 #16267120)InnoDB: 当表通过外键约束链接时,加载一个表将递归打开其他链接表。当许多表通过外键约束链接时,这有时会导致线程堆栈溢出,从而导致服务器退出。由外键约束链接的表现在以迭代方式加载。也以递归方式执行的级联操作现在使用显式堆栈迭代执行。(错误#16244691,错误#65384)
InnoDB: 禁用外键检查 并执行 a后,重新启动服务器后无法再访问该表。此修复允许在. 当表可访问时,用户必须重新创建丢失的索引以满足外键约束。(错误#16208542,错误#68148)
SET
foreign_key_checks=0
DROP INDEX
SET foreign_key_checks=0
InnoDB: 当事务处于
READ COMMITTED
隔离级别时,插入行时仍然在二级索引中获取间隙锁。当扫描二级索引以查找重复项时,会发生这种情况。无论事务隔离级别如何,该 函数row_ins_scan_sec_index_for_duplicate()
始终调用该函数 此修复根据事务隔离级别修改 函数以 使用 或 (漏洞 #16133801,漏洞 #68021)row_ins_set_shared_rec_lock()
LOCK_ORDINARY
row_ins_scan_sec_index_for_duplicate()
row_ins_set_shared_rec_lock()
LOCK_ORDINARY
LOCK_REC_NOT_GAP
InnoDB: 启动mysqld时
--innodb-log-buffer-size=50GB
分配内存失败并返回 NULL。对于非调试构建,没有适当的检查并且发生了分段错误。此修复程序添加了一条日志消息,指出无法分配内存,并添加了一个断言。(漏洞 #16069598,漏洞 #68025)InnoDB: 在
UNIV_DEBUG
调试版本中启用时,buf_validate()
通常会调用它,有时会在信号量等待超时测试中导致错误警报。此修复增加了计数器值以减少误报。(漏洞 #16068056)InnoDB: 该
explain_filename
函数通过解析文件名来提供有关分区的信息,在尝试解析没有分区信息的文件名时会返回错误。(漏洞 #16051728)InnoDB: 停止服务器,从数据目录中删除数据库表 (d1.t1)
.frm
文件,重新启动服务器并删除数据库 (d1),将导致断言。(漏洞 #16043216)InnoDB: 在处理读写工作负载时,InnoDB 会扫描比刷新所需更多的页面,从而不必要地消耗 CPU 资源。(漏洞 #16037180)
InnoDB: 活动
FLUSH TABLES ... FOR EXPORT
线程会在关闭期间导致挂起。该修复确保trx_is_interrupted()
在ibuf_merge
. (漏洞 #15953255)InnoDB:由重复键错误引起的 多行
INSERT ... ON DUPLICATE KEY UPDATE
插入失败将导致重复的自动增量值。(漏洞 #14483484,漏洞 #66301)-
复制:在启用 GTID 的主服务器上 发出
FLUSH TABLES
语句导致复制失败。发现此错误行为是由 Bug #16062608 的修复程序引入的,它不允许执行隐式提交但在gtid_next
设置为 . 以外的任何值AUTOMATIC
。该修复程序中所做的更改已被还原,并且(再次)允许此类语句而不考虑此变量的值。(漏洞 #16715809,漏洞 #69045)参考资料:恢复补丁:Bug #16062608。
复制:尝试使用带 选项的mysqlbinlog 从基于行格式的二进制日志还原单个数据库时,时间点恢复可能会失败
--database
(漏洞 #16698172)-
复制:
InnoDB
在执行RESET MASTER
语句 导致丢失先前事务的提交时崩溃错误 发生这种情况是因为准备阶段导致刷新到磁盘,而提交阶段没有在InnoDB
.为了解决这个问题,
RESET MASTER
现在导致存储引擎日志在提交时被刷新。(错误#16666456,错误#68932) -
复制: 当从二进制日志中处理一个
Update_rows_log_event
或Delete_rows_log_event
时,之前的图像被散列并存储在散列表中。在此之后,扫描原始表以查找所需的记录;后续处理对从原始表中获取的每条记录进行哈希处理,并在哈希表中对其执行查找。但是,从最初设置为的图像中读取的列NULL
可能包含随机或 “垃圾”数据,导致查找(以及复制)失败并出现诸如Could not execute Update_rows event on table...之类的错误。(漏洞 #16621923)参考资料:另请参阅:Bug #11766865。此问题是 Bug #16566658 的回归。
复制: 当与 options 一起使用时 , mysqldump在引号内打印端口号,就好像它是一个字符串值而不是一个整数。(漏洞 #16615117)
--dump-slave
--include-master-host-port
Replication: 由于某些系统上的时间分辨率问题,转储线程从从属回复所花费的时间可以计算为小于零,导致Semi-sync master wait for reply fail to get wait time错误. 由于这种情况不会对复制产生负面影响,因此由这些情况引起的错误已减少为警告。(漏洞#16579028)
-
复制: 尝试更新
NULL
没有主键的表的列(以前设置为 )导致复制失败,并显示“无法在“table
”中找到记录...”。此问题最初已在 MySQL 5.6.3 中修复,但无意中在 MySQL 5.6.6 中重新引入。(漏洞 #16566658)
参考资料:另请参阅:Bug #16621923。此问题是 Bug #11766865 的回归。
复制:
--log-slave-updates
与一起 运行服务器--replicate-wild-ignore-table
或--replicate-ignore-table
在某些情况下导致不记录用户变量的更新。(漏洞 #16541422)复制: 当使用mysqlbinlog和 mysql客户端在启用了 GTID 的服务器上前滚两个或多个二进制日志
gtid_next
时,从第一个二进制日志切换到第二个二进制日志时变量没有正确重置,导致处理停止并出现错误观点。(漏洞 #16532543)复制:尝试处理多个文件时 , mysqlbinlog选项
--include-gtids
、--exclude-gtids
和--skip-gtids
(漏洞 #16517775)复制: 当在二进制日志中发现一个或多个 GTID 日志事件但没有以前的 GTIDs 日志事件时,由此产生的错误处理不当并导致服务器故障。(这是一种极其罕见的情况,在正常情况下永远不会发生,并且可能表明二进制日志文件已以某种方式损坏。)现在在这种情况下,会发出适当的错误并得到正确处理。(漏洞 #16502579,漏洞 #68638)
复制: 尝试
START SLAVE
在导入新slave_master_info
和slave_relay_log_info
表后执行失败并显示空错误消息。现在在这种情况下会发出适当的错误和消息。(缺陷 #16475866,缺陷 #68605)复制:
slave_relay_log_info
在清空表 后重新启动服务器 导致mysqld在尝试返回错误时失败。(漏洞 #16460978,漏洞 #68604)复制: 由于在二进制日志变满时并发尝试旋转,因此执行了额外的二进制日志旋转,允许成功。这可能会导致不必要地创建许多小的二进制日志文件。(错误#16443676,错误#68575)
复制: 当执行事件的大小超过为缓冲区 (
slave_pending_jobs_size_max
) 设置的最大值时,基于行的复制可能会因Waiting for slave workers to free pending events 而挂起。(漏洞 #16439245,漏洞 #68462)复制: 在与主服务器断开连接后,从服务器在某些情况下可能会在重新连接时错误地报告它收到了一个大于 的数据包
slave_max_allowed_packet
,从而导致复制失败。(漏洞 #16438800,漏洞 #68490)Replication: MTS slave 恢复期间的 SQL 线程错误导致 slave 失败。(缺陷 #16407467,缺陷 #68506)
复制: 当使用选项 , mysqlbinlog无法重置用于存储文件中当前位置的计数器。(漏洞 #16316123,漏洞 #68347)
--read-from-remote-server
--stop-never
--base64-output=decode-rows
--verbose
Replication: 使用mysqldump备份MySQL 5.6.4及之前版本创建的数据库时,设置
--set-gtid-purged=AUTO
导致备份失败,因为5.6.5之前版本的MySQL不支持GTIDs,无法判断是否为GTIDs已为数据库启用。此修复确保 mysqldumpSET @@GLOBAL.gtid_purged
在备份任何 5.6.5 之前的数据库时不会尝试输出 (错误#16303363,错误#68314)复制: 死锁有时会发生在具有大量并发更新的组提交上,以及当一个客户端从提交中持有锁而另一个客户端在轮换二进制日志时强加锁。(错误#16271657、错误#16491597、错误#68251、错误#68569)
复制: 启用半同步复制后,使用创建的事件自动丢弃到主服务器上
ON COMPLETION NOT PRESERVE
会导致主服务器失败。(漏洞 #15948818,漏洞 #67276)复制: 将
SET
列设置到NULL
存储过程内部导致复制失败。(缺陷 #14593883,缺陷 #66637)复制: 二进制日志内容有时会损坏,因为
MYSQL_BIN_LOG::write_cache
当函数报告“0”时,该函数始终认为它已到达缓存末尾my_b_fill()
,而这也可能意味着发生了错误。此修复可确保每当my_b_fill()
返回“0”时,都会对 执行错误检查info->error
。(缺陷 #14324766,缺陷 #60173)复制:
PURGE BINARY LOGS
按设计不会删除正在使用或活动的二进制日志文件,但在发生这种情况时没有提供任何通知。现在,如果在这种情况下未删除日志文件,则会发出警告;此警告包括有关文件的信息,或者在发出语句时文件未被删除。(错误#13727933,错误#63138)-
复制: 当使用二进制日志记录格式复制到
BLACKHOLE
表时,无法应用更新和删除,因此会被跳过。现在,无论何时发生,都会为此生成警告。笔记binlog_format=STATEMENT
复制到使用BLACKHOLE
存储引擎的表时推荐使用。(漏洞 #13004581)
删除服务器 RPM 包不会关闭正在运行的现有服务器。(漏洞#16798868)
在 Performance Schema 表中设置
PROCESSLIST_STATE
值的开销THREADS
已减少。(漏洞 #16633515)Windows 身份验证插件无法为每个连接释放上下文缓冲区。(漏洞#16591288)
DBUG_PRINT()
未启用调试时,宏会不必要地评估参数 。(漏洞#16556597)使用 WKB 数据的几何方法执行的输入数据验证不充分,这可能导致 Valgrind 错误或服务器退出。(错误#16510712,错误#12772601)
服务器可能会尝试
filesort
对零大小排序长度进行操作,从而导致它退出。(漏洞 #16503160)-
SELECT
在存储过程中 打开游标可能会导致分段错误。(漏洞 #16499751)参考:这个问题是 Bug #14740889 的回归。
my_load_defaults()
进行了修改以适应 gcc 4.7.2 编译下的一些问题,这些问题可能会导致客户端在选项处理期间崩溃。(漏洞 #16497125)SET PASSWORD
被 视为引用同一表行
。 (漏洞 #16488043)user
@'%'user
@''mysql.user
当索引条件下推用于递减范围扫描并且第一个范围区间不包含任何符合条件的记录时,即使其他范围区间包含符合条件的记录,范围扫描的结果也可能为空。(漏洞 #16483273)
用于空间操作的 WKB 读取器可能会失败并导致服务器退出。(漏洞 #16451878)
在访问引用连接序列中较早的表的列的
ref
情况下, 优化器试探法不恰当地首选范围访问而不是 访问。ref
(漏洞 #16437940)性能模式参数在启动时自动调整大小没有考虑稍后自动调整对性能模式参数所依赖的其他启动参数的更改。(漏洞 #16430532)
使用的一些
INFORMATION_SCHEMA
查询 没有像在 MySQL 5.5 中那样ORDER BY
使用 优化。filesort
(漏洞 #16423536)密码格式错误的手动创建的帐户(使用
INSERT
)实际上没有密码。(漏洞 #16414396)对于调试版本,当 系统变量值超过 255 个字符时会
DBUG_EXPLAIN
导致缓冲区溢出。debug
(漏洞 #16402143)目录中的几个
sql-bench
本应可执行的脚本没有设置可执行访问位。(漏洞 #16395606)对于调试版本,XA 事务处于 IDLE 或 PREPARED 状态,在启用查询缓存的情况下执行查询可能会导致服务器退出。(漏洞 #16388996)
使用dpkg 在 Ubuntu 12.10 上安装 Debian 软件包成功 ,但在软件中心 5.4.1.4 上安装失败。(漏洞 #16387513)
在处于 ACTIVE 状态的 XA 事务中,导致隐式提交的语句可能导致过早释放元数据锁。(漏洞 #16362832)
对于调试版本,子句
GROUP_CONCAT(... ORDER BY)
内可能会导致服务器退出。ORDER BY
(漏洞 #16347426)GROUP_CONCAT()
包含具有外部引用的子查询 的调用导致服务器退出。(漏洞#16347343)该
validate_password
插件并不总是对分配空密码实施适当的约束。(漏洞#16346443)重新执行存储过程可能会导致服务器退出
Item_field::fix_outer_field
. (漏洞 #16317443)对于调试版本,服务器可以退出涉及嵌套子查询的查询,子查询转换为半连接并使用视图。(漏洞 #16317076)
thread_pool_high_priority_connection
无法在服务器启动时设置。(漏洞 #16310373)启用后,密码使用
secure_auth
4.1 之前(旧)散列的用户无法将其更新为使用 4.1(新)散列。(漏洞 #16304018)XOR
范围优化器可能会为使用操作 的查询设置不正确的范围。(漏洞 #16272562)如果使用的帐户密码过期,则mysql_secure_installation无法连接到服务器。它以非交互方式调用mysql,导致该程序无法连接。现在mysql 支持一个
--connect-expired-password
选项,该选项向服务器指示它可以处理过期密码帐户的沙箱模式,即使是非交互调用,并且 mysql_secure_installation使用此选项调用 mysql 。(漏洞 #16248315)如果在使用 的查询上使用了松散索引扫描,则
MIN()
可能会发生分段错误。(漏洞 #16222245)常规表和作为隐式组的派生表之间的外部连接可能会导致服务器退出。(漏洞 #16177639)
如果在一个请求中发送了多个语句,审计日志插件只记录最后一个。现在它分别记录每个语句。(漏洞 #16169063)
eq_ref
对于调试版本,对于使用access 和 执行的查询错误地提出了断言filesort
。(漏洞 #16164885)使用的准备好的语句
GROUP_CONCAT()
和ORDER BY
命名多列的子句可能导致服务器退出。(漏洞 #16075310)ORDER BY MATCH ... AGAINST
可能导致服务器退出。(漏洞 #16073689)FEDERATED
在不指定连接字符串的情况下 创建表导致服务器退出。(漏洞 #16048546)来自 MySQL 5.6.4 及更高版本的客户端程序可能会在连接过程中使用旧服务器无法理解的较新协议功能来混淆旧服务器。(漏洞 #15965409)
如果命令是在多个服务器运行的情况下执行 的,则mysql.server脚本会退出并出错。
status
(漏洞 #15852074)在某些情况下,
REVOKE
可能无法撤销GRANT OPTION
特权。(漏洞 #14799187)在语句的子句中 使用
VALUES()
函数可能导致 Valgrind 警告或服务器不稳定,可能导致服务器退出。(漏洞 #14789787)VALUES()
INSERT
mysql客户端 在交互模式下读取每一行后分配但没有释放字符串,导致内存泄漏。(漏洞 #14685362)
在断开连接的过程中终止连接可能会导致提出断言、Valgrind 警告和一般不稳定。(漏洞 #14560522)
INSERT ... ON DUPLICATE KEY UPDATE
在视图上可能会导致服务器退出。(漏洞 #14261010)按子查询中的外部
BLOB
列分组导致服务器退出。(错误#13966809,错误#14700180)由于对无效比较的错误处理不当,服务器可能会退出。(漏洞 #13009341)
CMake检查 在
unsigned time_t
所有平台上都失败了。(漏洞 #11766815)-
mysqladmin debug使服务器将调试信息写入错误日志。在支持的系统上, 当mysqld消耗超过 4GB 内存
mallinfo()
时,此输出的内存状态部分在 64 位环境中不正确现在服务器用于
malloc_info()
获取内存状态信息。malloc_info()
不报告glibc
malloc()
实现内部使用分配的内存mmap()
。但是,它确实提供了所有内存区域中的内存使用信息。此错误修复还涉及输出格式的更改。服务器现在以 XML 格式而不是纯文本格式写入内存信息。例子:
Memory status: <malloc version="1"> <heap nr="0"> <sizes> <size from="33" to="33" total="1056" count="32"/> <size from="65" to="65" total="65" count="1"/> <size from="113" to="113" total="226" count="2"/> <size from="129" to="129" total="2451" count="19"/> <size from="145" to="145" total="290" count="2"/> <size from="161" to="161" total="1288" count="8"/> <size from="209" to="209" total="418" count="2"/> </sizes> <total type="fast" count="0" size="0"/> <total type="rest" count="66" size="5794"/> <system type="current" size="10833920"/> <system type="max" size="10833920"/> <aspace type="total" size="10833920"/> <aspace type="mprotect" size="10833920"/> </heap> <total type="fast" count="0" size="0"/> <total type="rest" count="66" size="5794"/> <system type="current" size="10833920"/> <system type="max" size="10833920"/> <aspace type="total" size="10833920"/> <aspace type="mprotect" size="10833920"/> </malloc>
(漏洞 #11746658)
针对使用
CASE
运算符和HAVING
子句创建的视图的查询被错误拒绝ER_VIEW_INVALID
(错误 1356)。(漏洞 #69774,漏洞 #17183462)-
FOUND_ROWS()
如果前面的查询使用 ,则可能会返回不正确的值filesort
。(漏洞 #69119,漏洞 #16760474)参考:这个问题是 Bug #68458 的回归。
优化器可能会为带有
ORDER BY ... LIMIT
. (缺陷 #69013,缺陷 #16697792)当在选项文件中指定时,
plugin-dir
客户端选项被忽略。(漏洞 #68800,漏洞 #16680313)当只计算事件而不是计时时,Performance Schema 会将
MIN_TIMER_WAIT
值报告为一个大数字而不是 0。(Bug #68768,Bug #16552425)使用带有索引前缀的范围访问可能会产生不正确的结果。(缺陷 #68750,缺陷 #16540042)
对于调试版本,元数据锁定
CREATE TABLE ... SELECT
可能会引发断言。(缺陷 #68695,缺陷 #16503173)mysqld
--help
和mysqld 执行了不必要的日志记录。(缺陷 #68578,缺陷 #16442113)--verbose
--help
-
提供了一个新的CMake选项,
WITH_EDITLINE
用于指示是使用捆绑的还是系统libedit
/editline
库。允许的值为bundled
(默认值)和system
.WITH_EDITLINE
替换WITH_LIBEDIT
,已被删除。(漏洞 #68558,漏洞 #16430208) 如果使用松散索引扫描来评估将整数列与指定为带引号的字符串(例如,
)的整数进行比较的查询,则该查询可能会返回不正确的结果。(错误#68473,错误#16394084)col_name
= '1'mysql.user
在使用未升级表( 尚未运行mysql_upgrade ) 的 MySQL 5.5 更新的 MySQL 服务器 中,设置密码的语句由于对password_expired
列的错误检查导致服务器退出。(缺陷 #68385,缺陷 #16339767)在存储过程的第一次调用期间使用的派生表上的索引不会在后续调用中使用。(缺陷 #68350,缺陷 #16346367)
如果诸如
AES_DECRYPT()
需要 SSL 支持的函数失败,该错误可能会影响以后对需要 SSL 支持的函数的调用。(漏洞 #68340,漏洞 #16315767)对于
DELETE
andUPDATE
语句,EXPLAIN
显示NULL
在ref
列中对于某些情况const
来说是比较合适的。(漏洞 #68299,漏洞 #16296268)即使以多字节默认字符集启动,mysql 客户端也会错误地用于某些比较,从而导致客户 端崩溃。
latin1
(漏洞 #68107,漏洞 #16182919)InnoDB
不支持全文解析插件,但指定了也报错。现在ER_INNODB_NO_FT_USES_PARSER
返回一个错误。(缺陷 #62004,缺陷 #12843070)数据库帮助表中的
url
列mysql
太短,无法容纳帮助内容中的某些 URL。这些列现在创建为类型TEXT
以适应更长的 URL。(缺陷 #61520,缺陷 #12671635)-
从当前
debug
系统变量设置中添加或减去关键字的两个问题已得到纠正:-
值
debug
表示 “'d'
启用所有调试宏”。以下序列使值处于不正确的状态:mysql> SET debug = 'd';SELECT @@debug; +---------+ | @@debug | +---------+ | d | +---------+ mysql> SET debug = '+d,M1';SELECT @@debug; +---------+ | @@debug | +---------+ | d,M1 | +---------+
第一条
SET
语句启用所有调试宏。第二个SET
应该将M1
宏添加到当前集,这应该不会导致任何变化,因为当前集已经是“所有宏”。相反,第二个SET
将当前设置重置为仅M1
宏,有效地禁用所有其他宏。服务器现在正确地将debug
设置保留为'd'
。 -
值
debug
表示 “''
未启用调试宏”。以下序列使值处于不正确的状态:mysql> SET debug = 'd,M1';SELECT @@debug; +---------+ | @@debug | +---------+ | d,M1 | +---------+ mysql> SET debug = '-d,M1';SELECT @@debug; +---------+ | @@debug | +---------+ | d | +---------+
第一条
SET
语句设置debug
为M1*
宏。第二个SET
应该从当前集合中减去M1
宏,不启用任何调试宏。相反,第二个SET
将当前设置重置为'd'
(启用所有宏)。服务器现在正确设置debug
为''
.
(错误#58630,错误#11765644)
-
-
现在可以
mysql-test
通过调用CMake并将INSTALL_MYSQLTESTDIR
选项显式设置为空来在从源代码编译 MySQL 后抑制目录的安装:cmake . -DINSTALL_MYSQLTESTDIR=
以前,尝试这样做会导致错误。(错误#58615,错误#11765629)
在 64 位 OS X 系统上,CMake 在确定机器类型时使用
x86
而不是。x86_64
(错误#58462,错误#11765489)IF()
在准备好的语句和非准备的语句中执行时,函数求值可能会产生不同的结果。(漏洞 #45370,漏洞 #11753852)