这个版本的一个已知的限制:
如果你有InnoDB
如果你正在从MySQL 5.6.10升级到MySQL 5.6.18版本,服务器将无法在升级后启动(Bug#72079)。这个错误在MySQL 5.6.19中被修复。作为一种变通方法,请在升级之前删除全文搜索索引,并在升级完成后重新构建全文搜索索引。
以前,MySQL服务器发行版包括MySQL参考手册的信息格式(Docs/ MySQL . Info文件)。由于手册的许可限制了重新分发,因此将其包含在Community包中会给下游的重新分发者带来问题,例如那些创建Linux发行版的人。MySQL Server的社区发行版不再包含MySQL .info文件,以使重新打包和重新分发过程更容易(例如,源代码tarball及其校验和可以直接使用)。此更改适用于所有源代码和二进制Community打包格式。商业(企业)分布不变。
对于那些希望继续使用MySQL参考手册的信息格式,我们已经在10bet网址 .
不兼容的更改:中的几个语句工具
setup_instruments
表是在语句分类的早期阶段,在知道确切的语句类型之前,Performance Schema使用的。这些工具被重新命名,以更清楚地反映他们的”摘要”性质:旧仪器名称 新仪器名称 声明/ com/
声明/文摘/ new_packet
声明/ com/Query
声明/文摘/查询
声明/ rpl / relay_log
声明/文摘/ relay_log
此外,下表不再收集抽象工具的统计数据,因为从未使用这种工具作为报表的最后分类:
Events_statements_summary_by_thread_by_event_name events_statements_summary_by_account_by_event_name events_statements_summary_by_user_by_event_name events_statements_summary_by_host_by_event_name events_statements_summary_global_by_event_name
引用旧仪器名称的应用程序必须用新名称进行更新。有关在语句分类中使用抽象工具的更多信息,请参见性能模式声明事件表.(Bug #16750433, Bug #17271055)
性能模式现在检测读/写锁
代表:锁
,用于以下类:Trans_delegate Binlog_storage_delegate Binlog_transmit_delegate Binlog_relay_IO_delegate
每个子类使用不同的仪器名称,以便针对不同的用途有不同的统计数据。这些仪器在
schema.setup_instruments
表,并具有以下名称:wait/sync /rwlock/sql/Trans_delegate::lock wait/sync /rwlock/sql/Binlog_storage_delegate::lock wait/sync /rwlock/sql/Binlog_transmit_delegate::lock wait/sync /rwlock/sql/Binlog_relay_IO_delegate::lock
(Bug #17590161, Bug #70577)
一个新的CMake选项,
WITH_ASAN
,允许为支持它的编译器启用AddressSanitizer。(错误# 17435338)修改了用于元数据锁定的哈希函数,以减少开销。(Bug #68487, Bug #16396598)
InnoDB;复制:的
InnoDB
mecached插件将在插入到二进制日志之前更新记录,这将导致从服务器复制停止。插入应该发生在更新之前。(错误# 17358875)InnoDB:Bug#17371537的修复引入的回归导致的内存泄漏memcached插入操作。(错误# 17738935)
参考文献:参见Bug #17371537。
InnoDB:日志中发现的容错代码应用于
InnoDB
修改表…在适当的位置
可能导致数据损坏。(Bug #17625063, Bug #17512497)InnoDB:的
硫氧还蛋白- > error_key_num
中的错误注入代码中未初始化字段存储/ innobase /处理/ handler0alter.cc
.的error_key_num
字段通常为0,但如果重用DDL事务对象的内存缓冲区,则可以为非零值。(错误# 17624926)InnoDB:以数字开头的数据库名称将导致全文搜索(FTS)解析器错误。(错误# 17607956)
参考文献:参见Bug #17161372。
InnoDB:一个
修改表…改变(列)
操作将导致rbt_empty (index_cache - >词)
断言。(错误# 17536995)InnoDB:
检查表
会忽略快速
选择。(错误# 17513737)InnoDB:查询时会消耗过多的内存
INFORMATION_SCHEMA。INNODB_FT_INDEX_TABLE
.这个问题会出现在非常大的全文搜索索引上。(Bug #17483582, Bug #70329)InnoDB:运行
显示引擎innodb状态
在一个连接线程上,通过运行杀死连接
语句将导致严重错误。(错误# 17474166)InnoDB:在调试构建中,测试用例失败可能发生于以下原因
ibuf_contract_ext
执行合并和dict_stats_update
将逐出的页返回到缓冲池中ibuf_change_buffering_debug
启用。(错误# 17446090)InnoDB:设置
O_DIRECT
标记在文件上tmpfs
在某些操作系统上将导致错误打印到错误日志中。上创建多个临时表tmpfs
将导致重复打印错误。错误消息已更改为在运行时只打印一次的警告创建表
很多次了。(错误# 17441867)InnoDB:
InnoDB
在丢弃表空间后试图运行查询时返回错误。处理步骤(错误# 17431533)InnoDB:丢弃表空间后会发生严重错误。(错误# 17430207)
InnoDB:的
information_schema.innodb_metrics
index_merge
计数器没有增加btr0btr.cc
.此补丁还引入了新的计数器(index_page_reorg_attempts
,index_page_reorg_successful
而且index_page_discards
)并重命名index_merges
与index_page_merge_attempts
把它和index_page_merge_successful
计数器。(Bug #17409657, Bug #70241)InnoDB:在一次
截断表
操作,InnoDB:试图截断表中缺失的索引…警告将被打印到错误日志中。当索引是全文搜索(FTS)索引时,不应该打印这些警告。(Bug #17402002, Bug #70226)参考文献:参见Bug #12429565。
InnoDB:在并行全文搜索(FTS)索引创建过程中,扫描线程读入文档并将它们传递给标记赋予器。标记化完成后,标记赋予器将文档从内存中释放。当对具有大量文本的文档进行标记时,标记器线程将无法与扫描程序线程保持同步。结果,内存释放速度不够快,并且”标记化待处理列表”会越来越大。(错误# 17384979)
InnoDB:
trx_create
而且trx_free
会被称为每一个memcached得到
请求。(Bug #17371537, Bug #70172)InnoDB:全文搜索(FTS)
布尔模式
查询字符串中含有无效字符的查询可能会导致内存访问冲突失败。(错误# 17350055)InnoDB:由于临时表空间不足,在大表上创建全文索引失败,导致错误”密钥文件错误”错误。(错误# 17339606)
InnoDB:在
btr_validate_level
有检查以确保所有b树页面在分配时都被标记。在变更缓冲区上的检查失败了,因为变更缓冲区页面的分配处理方式与其他b -树页面不同。(错误# 16884217)InnoDB:的硬编码大小
srv_max_n_threads
变量不足。变量设置现在是基于连接线程和的最大数量配置的InnoDB
后台线程。(错误# 16884077)InnoDB:一个
SELECT COUNT (*)
查询在与对象并发运行时,需要很长时间才能完成加载数据
操作。的mtr_memo_contains
函数中包含了一个嵌套循环,该循环会导致查询运行缓慢。(Bug #16764240, Bug #69141)InnoDB:当更改缓冲区被启用时,
InnoDB
在将一个记录从插入缓冲区合并到辅助索引页时,如果将插入作为”update-in-place”.(Bug #16752251, Bug #69122)InnoDB:现有的全文索引在运行后将失效
修改表添加全文
由于全文缓存未同步。(Bug #16662990, Bug #17373659)InnoDB:由于MySQL 5.6中的回归,创建或删除表
innodb_force_recovery
设置为3.
(SRV_FORCE_NO_TRX_UNDO
)失败。此外,此错误修复包括设置InnoDB
当变为只读时innodb_force_recovery
设置为大于3.
(SRV_FORCE_NO_TRX_UNDO
).(Bug #16631778, Bug #69892)InnoDB:一个
InnoDB
memcached配置错误消息包含不正确的文件名。错误信息说,运行innodb_config.sql在数据库innodb_memcache中创建配置表容器。错误31.正确的文件名是innodb_memcached_config.sql
.此外,”错误31”部分错误消息已被翻译为其等价文本,即”未找到表”.(Bug #16498810, Bug #68684)InnoDB:在
mutex_spin_wait ()
,sync_array_reserve_cell
函数可能无法在同步等待数组很小的系统上找到空槽,从而导致错误。(错误# 16245498)InnoDB:全文搜索(FTS)索引保存点信息没有设置,导致在试图回滚到保存点时出现严重错误。(Bug #14639605, Bug #17456092)
InnoDB:当
index_read_map
在进行精确搜索时调用,并且由于搜索条件不匹配而未能返回记录,则游标将定位到搜索键之后的下一个记录上。后续的电话index_next
将返回下一个记录,而不是返回前一个不匹配的行,从而跳过一条记录。(Bug #14621190, Bug #15965874, Bug #17314241, Bug #70038, Bug #17413093, Bug #12860669, Bug #60220, Bug #17565888)InnoDB:类重新启动时,隐式回滚导致服务器停止
innodb_force_recovery
3或更大的值。此错误由bug #16310467和bug #17253499的修复组合解决。(错误# 14178835)参考文献:参见Bug #16310467, Bug #17253499。
InnoDB:从转换具有大量列的表
MyISAM
来InnoDB
将由于日志缓冲区空间不足而导致断言。与其断言,InnoDB
如果重做日志的大小太大,现在尝试自动增加日志缓冲区的大小。(Bug #11758196, Bug #50366)分区:在重新构建分区时,存储引擎设置不正确;表存储引擎被忽略,取而代之的是默认存储引擎。因此,在MySQL 5.1中,它可以
重建分区
更改分区存储引擎InnoDB
来MyISAM
的分区MyISAM
导致分区使用的表InnoDB
)出现在MySQL 5.5及以后版本。现在,在重新构建分区时,表实际使用的存储引擎将被检查,并由处理程序用于重新构建操作,以便分区存储引擎不会被无意中更改。(错误# 17559867)分区:禁用父表的索引后
修改表…禁用的钥匙
,重新构建它的任何分区都启用了这些分区上的索引MyISAM
当优化器试图使用一个受影响的索引时,失败并出现错误。在这种情况下,我们在重新构建表的任何分区之前检查表上禁用的索引。如果已禁用索引,则在重新构建之后在分区上禁用它们。(错误# 16051817)
复制:复制主服务器没有正确处理禁用主服务器和从服务器上的半同步插件,导致从服务器随后停止。(Bug #17460821, Bug #70349)
复制:最后一个论点
集
合同条款加载数据…集
语句在二进制日志中重复。(Bug #17429677, Bug #70277)复制:当转储线程从活动的二进制日志文件读取事件时遇到的错误是临时错误,因此转储线程试图读取事件,转储线程可能寻找错误的位置,这可能导致一个或多个事件被重发。为了防止这种情况,线程的位置是在每次正确读取事件后获得的。
此外,通过此修复,只有未正常关闭的二进制日志才会被标记为可能已损坏。
最后,添加了两个警告;当转储线程遇到临时错误时,将返回这些文件。(错误# 17402313)
复制:设置
rpl_semi_sync_master_enabled
当主服务器等待从服务器的回复时,在某些情况下会导致主服务器失败。(Bug #17327454, Bug #70045)复制:当停止I/O线程时,对于非常大的事务(相当于大于100MB的二进制日志大小),线程可能直到结束都没有接收到事务。当重新连接
MASTER_AUTO_POSITION = 1
然后,它尝试从下一个事务中获取更改,这可能导致丢失未完成的事务及其数据。(Bug #17280176, Bug #69943)复制:试图设置
把master改为…Master_auto_position = 0
失败,错误1777 (ER_AUTO_POSITION_REQUIRES_GTID_MODE_ON).(错误# 17277744)复制:的价值
LAST_INSERT_ID ()
在从服务器上使用过滤规则时,没有正确复制。(Bug #17234370, Bug #69861)复制:用于存储GTID值的内部函数有时可能试图将它们作为长度错误的字符串处理。(Bug #17032712, Bug #69618)
复制:在基于行的复制过程中
binlog_row_image
设置为最小的
,只更新导致有9列或更多列的表的一些列mysqlbinlog当它与。一起使用时失败——详细
选择。(错误# 16960133)复制:发出一个
格兰特
带有无效参数的语句导致主进程写入LOST_EVENTS
事件写入其二进制日志,导致复制停止。在这种情况下,如果一个或多个特权的授予或撤销成功,则将事件写入日志;否则,只记录一个警告。(Bug #16629195, Bug #68892)libmysqlclient
版本18文件被删除MySQL-shared-compat
避免RPM包之间的冲突MySQL-shared
而且MySQL-shared-compat
RPM包。(错误# 17749617)启用索引合并优化器开关并设置一个小的
sort_buffer_size
值可能导致服务器退出。(错误# 17617945)Windows MSI包中丢失了一10bet官方网站些许可证和文档文件。(错误# 17584523)
未采用半连接物化策略
VARCHAR
列长度超过512字节,导致使用效率较低的策略和较差的查询性能。(字符而不是字节的限制取决于列字符集;170个字符use utf8
(Bug #17566396)使用MySQL安装程序在Windows上安装MySQL,然后在控制面板上使用卸载程序卸载MySQL,导致MySQL服务条目不被删除。(错误# 17550741)
从
session_connect_attrs
高负载下的Performance Schema表可能导致服务器退出。(错误# 17542370)Visual Studio 2012下的编译失败被纠正。(错误# 17430236)
有人提出,如果
设置密码
用于已从mysql.user
表,但仍然存在于内存中。(错误# 17359329)的
CLIENT_CONNECT_WITH_DB
标志在C客户端库中处理不当。这可能导致发送到服务器的数据包格式不正确。(错误# 17351732)的
filesort
实现有时无法分配足够的缓冲区空间,导致服务器退出。(错误# 17326567)的
mysql_options ()
类多次调用C API函数可能会泄漏内存MYSQL_SET_CLIENT_IP
选择。(错误# 17297012)的
CONV ()
函数可以调用abs (INT_MIN)
,这是未定义的,并导致服务器退出。(错误# 17296644)SSL代码中的一个错误数组缺少了一个逗号,导致相邻消息的隐式连接,并导致错误编号和消息之间的关系少了一个错误。(错误# 17294150)
格兰特
没有一个确认的
子句即使对现有用户也会导致错误。(错误# 16938568)GROUP_CONCAT ()
使用无效分隔符可能导致服务器退出。(错误# 16870783)一个内部
InnoDB
字符串例程可以写过缓冲区的末端。(错误# 16765410)对于卸载操作,MySQL Server MSI安装程序无法删除一些文件,如果服务器正在运行。这可能会导致后续安装低版本MySQL时出现问题:安装程序报告操作成功,但原始安装中的一些文件没有被低版本的对应文件替换。(错误# 16685125)
与GIS交集相关的代码缺少返回值检查,导致在非调试构建中出现循环,在调试构建中出现凸起断言。(错误# 16659166)
使用二进制客户机/服务器协议,第二次执行准备好的语句,用于具有参数的查询
限制
子句提出了一个断言。(错误# 16346241)对于使用Windows MSI包安装程序的升级,升级对话框消息缺少”从”的版本。(错误# 16053094)
查询中数据库名称过长可能导致服务器退出。(Bug #15912213, Bug #16900358)
独立的Windows MSI包没有
的权限
属性集。他们现在开始权限= 1
.对于本MySQL系列中的早期MSI包,可以使用以下命令:C:\> msiexec /imsi_installer_name权限= 1
(错误# 14647206)
作为XPath表达式参数调用的函数的递归没有得到正确处理,有时会导致表达式失败。(错误# 14040071)
一些
.pdb
Windows Zip归档发行版中的文件丢失。(错误# 13878021)Coverity静态分析工具识别的几个问题得到了修复。感谢Jan stanvagk和Honza Horak的补丁。(Bug #70591, Bug #17590095)
设置
host_cache_size
在启动时没有影响。(Bug #70552, Bug #17576516)MySQL无法在OS X 10.9 (Mavericks)上编译。(Bug #70542, Bug #17647863)
在某些情况下,列前缀上定义的索引的范围条件返回不完整的结果集。(例如,
选择……WHERE 'abcdef1' <
,其中索引在col_name
和col_name
<“abcdef9”col_name
(Bug #70341, Bug #17458273)InnoDB
全文搜索未能在包含保存点的事务中找到记录。(Bug #70333, Bug #17458835)如果要求升级没有运行的服务器
InnoDB
启用,mysql_upgrade发出投诉InnoDB
表不存在(表不存在,除非InnoDB
是可用的)。(Bug #70152, Bug #17361912)启用线程池插件后,
PROCESSLIST_USER
而且PROCESSLIST_HOST
的列线程
性能模式表总是零
用于客户端会话。另外,对于主线程,这些列也不是零
但设置为用户帐户。请注意作为bug修复实现的一部分,线程池插件的Performance Schema插装被更改为使用
thread_pool
,而不是sql
.(Bug #70028, Bug #17310065, Bug #17049691)
对于频繁的连接/断开操作,降低了性能模式检测开销。(Bug #70018, Bug #17310878)
数(不同的)
不应该算在内零
值,但当优化器使用松散索引扫描时,它们被计数。(Bug #69841, Bug #17222452)在调试构建中,静态初始化代码可以在初始化DBUG子系统之前调用DBUG函数。(Bug #69653, Bug #17063675)
一些
插入…选择……从
声明很慢,除非tmp_table_size
而且max_heap_table_size
将系统变量设置得足够大,以便允许用于查询处理的临时表存储在内存
存储引擎。(Bug #69368, Bug #16894092)修复了一些释放后可能的内存使用情况。感谢Jan stan的补丁。(Bug #68918, Bug #16725945)
失踪
va_end ()
调用被添加到日志记录和UCS2代码中。感谢Jan stan的补丁。(Bug #68896, Bug #16725769)用于表单的查询
更新……在哪里
,可能会更新不正确的行。唯一键允许多个unique_key
点单…限制……零
值,但优化器并不总是考虑所有的值。(Bug #68656, Bug #16482467)对于一个
ALTER TABLE
对象的默认值的重命名或更改二进制
列时,更改是使用表副本完成的,而且没有到位。(Bug #67141, Bug #14735373, Bug #69580, Bug #17024290)服务器使用以太网硬件地址生成UUID,但是假设以太网设备的名称,而不是查询系统的名称。感谢Honza Horak的补丁。(Bug #63055, Bug #13548252)
授权表中的主机名以小写形式存储,但是mysql_install_db如果不遵守这个约定,会导致账户无法被删除吗
减少用户
.(Bug #62255, Bug #12917164, Bug #62254, Bug #12917151)终止正在执行的查询
filesort
手术导致ER_SERVER_SHUTDOWN
(服务器正在关闭)错误。(Bug #18256, Bug #11745656)