首页 > mysql优化 > mysql 5.6.12 正式版发布

mysql 5.6.12 正式版发布

2013年6月14日 发表评论 阅读评论

在MySQL 5.6.12的变化(2013-06-03)

添加或更改功能

现在mysql_upgrade认证服务器版本,如果有一个不匹配,这是一个编译版本的匹配和出口。在addiion, – 版本检查选项允许您指定是否检查版本(默认),启用或禁用 – 跳过版本检查检查。 (问题#16500013)

错误

不兼容的变化:在现有的MySQL账户使用时,GRANT语句可能会产生意想不到的reults,如果WITH子句来命名不同的从mysql.user表行的相应的插件所谓的身份验证插件包括确定。

确定GRANT语句创建一个新的用户,它现在被禁止,如果指定的帐户已经存在。 (问题#16083276)

重要的变化;复制:当服务器运行 – 二进制日志忽略的db和选择的数据库()返回NULL(目前未选定的数据库),使用完全限定的表名在dbname.tblname格式不写入二进制日志。这是因为在这种情况下,缺乏被认为是当前选定的数据库匹配,忽略任何可能的选项,而不是没有这样的选项,这意味着,这些语句总是被忽略。

现在,如果没有当前数据库语句中使用完全限定的表名总是写入二进制日志。 (错误#11829838,错误#60188)

InnoDB的分区:分区InnoDB表涉及添加一个或多个BLOB列并不总是正确处理。 BLOB列并不需要连接的列或列,或以其他方式进行命名或引用在声明中包含联接,发生此问题。 (问题#16367691)

InnoDB的:在调试版本,网上全表ALTER TABLE操作执行副本改善断言。说,是由于竞争条件下,会发生修改应用程序的日志中检索BLOB,当任何日志块,除了最后一个。这的补丁修改row_log_table_apply_convert_mrec(),以确保B-tree索引锁保护访问登录 – >点和BLOB页。 (问题#16774118)

InnoDB的:当崩溃恢复期间的的功能trx_rollback_or_clean_recovered()或rollback交易清理,删除对象从TRX trx_sys列表不会释放这些对象所使用的内存。为了防止内存泄漏,此修补程序将调用trx_rollback_resurrected trx_free_for_background()(),的功能删除TRX对象。 (问题#16754776)

InnoDB的:SHOW STATUS输出缺少逗号将打破MySQL企业监控分辨率。 (问题#16723686)

InnoDB的:清洁关机时,InnoDB在启动时不检查。 IBD的文件头。因此,InnoDB的崩溃恢复计划,你可以加载一个损坏的表空间文件。此修补程序来实现一致性和状态检查,以避免加载文件损坏。 (问题#16720368)

InnoDB的:发生了内存泄漏在dict_check_tablespaces_and_store_max_id()当space_id零。 (问题#16737332)

InnoDB的:当添加一个主键列的ALTER TABLE语句(例如:ALTER TABLE T1 ADD PRIMARY KEY(A,B),改变的AA INT B)后重新排序,日志应用更新操作将无法找到线。 (问题#16586355)

InnoDB的:临时表压缩DML操作将导致在Valgrind的错误,缓冲区管理器堆栈。 (问题#16593331)

在InnoDB:此修复程序的地址将恢复买卖,并建立两个索引锁定之间的争回滚操作条件。比赛条件会破坏这两个指标。 (问题#16593427)

在InnoDB:InnoDB表,你需要复制操作表ALTER TABLE操作,其他交易可能失败,在桌子上,在复制过程中。但是,如果这样的交易部分回滚,回滚被视为一个完整的回滚。 (问题#16544143)

InnoDB的:在某些情况下,LRU刷新会花费很长的时间,它可能会影响所有的冲洗活动,引起关机超时。 (问题#16500209)

InnoDB的:recv_writer线程将启动,所有的重做日志扫描完成后。重做日志扫描在多个情况下,累计重做记录将被应用于每次扫描后,然后再处理下一次扫描。帮助冲洗的的线程不会recv_writer缓慢的恢复或导致服务器启动超时。该修复程序确保的recv_writer线程开始扫描批次之前处理。 (问题#16501172)

InnoDB的不断修缮取代IB_ULONGLONG_MAX代码是指LSN_MAX日志序列号,或与TRX_ID_MAX,TRX->还没有被初始化到一个未定义的值。这种变化不会改变常量的值。 (问题#16458660)

InnoDB的:InnoDB的此修复程序纠正错误6025,其中规定,“InnoDB的:无法打开阅读./ib_logfile0方式。”文本。经修订的消息,“InnoDB的:./ib_logfile0不能以读模式打开。”消息结构变量和模式复制。 (问题#16434398)

该InnoDB的:page_zip_available的功能某些字段计算了两次。 (问题#16463505)

在InnoDB:此修复删除大多数呼叫InnoDB的OS_THREAD_SLEEP的。 (问题#16472953)

InnoDB表同时插入文本插入会造成一定的失败。会产生重复的值,当插入一个隐藏的文本搜索文档ID列的文档ID进行全文搜索。 (问题#16469399)

InnoDB的:,FLUSH TABLES出口经常睡太冲洗页面,从缓冲池。 (问题#16471701)

InnoDB的线程的情况下,被迫做一个单页潮红,的fsync()将所有数据文件触发。此修复程序允许同步单页潮红。 (问题#16477781)

InnoDB的:调试版本中,插入失败的无效的断言:sync_thread_levels_g(阵列之一 – TRUE)。 (问题#16409715)

InnoDB的:多个并发呼叫到dict_update_statistics(),将导致不必要的服务器上的负载。 (问题#16400412)

InnoDB的:在64位版本的Windows将不接受分配的innodb_buffer_pool_size 32GB或更多。这个限制是由于的内在价值InnoDB缓冲池大小设置为32,在64位Windows上建立了一个错误,截断。 (问题#16391722)

InnoDB的:创建的ALTER TABLE INPLACE算法使用外键约束需要被设置为0(SET FOREIGN_KEY_CHECKS = 0;}的FOREIGN_KEY_CHECKS。因此,一个合适的,它不能重复ID检查。(问题#16413976)

InnoDB的,重命名表的原因挂到MySQL的互斥收购僵局。 (问题#16305265)

InnoDB是:DROP DATABASE失败,如果数据库包含InnoDB表,有一个外部数据目录中的数据文件。外部数据文件“InnoDB的符号链接”文件类型(ISL)未确认由MySQL。此修补程序。 InnoDB的ISL已知文件类型。 (问题#16338667)

InnoDB的:当一个链接表的外键约束,加载一个表打开其他链接的表递归。虽然许多外键约束链接表,这有时会导致线程的堆栈溢出,从而导致服务器退出。连接到外键约束循环荷载的性能。现在级联的操作,这是一个递归的方式,反复使用一个明确的堆栈。 (问题#16244691)

InnoDB的:当调用lock_rec_block_validate()函数内核互斥释放后,有机会的话,锁定可能是由于错误在Valgrind的读锁>指数到一个无效的无效,并将导致。此修补程序的内核互斥指数正在举行和锁定指数lock_rec_block_validate的()。 (问题#16268289)

InnoDB的:在测试过程中,一个FLUSH TABLE操作导致超时,缺乏清除线程停止识别。 (问题#16277387)

InnoDB的:压缩表,“重组”功能会忽略“innodb_log_compressed_pa​​ GES”选项,并随时记录整个压缩页,重做日志文件的大小增加。 “重组”功能,现在坚持innodb_log_compressed_pa​​的GES选项和页面图像压缩innodb_log_compressed_pa​​ GES不会被记录在重做日志,设置为“OFF”。 (问题#16267120)

InnoDB的:禁用外键检查与SET FOREIGN_KEY_CHECKS = 0,并执行一个DROP INDEX,表不再重新启动服务器后访问。此修复程序允许失踪的外键索引的表进行访问时,SET FOREIGN_KEY_CHECKS = 0。访问表时,用户必须重新创建丢失的索引,以满足外键约束。 (问题#16208542)

InnoDB的:当一个事务被提交读隔离级别,差距仍然锁定在两个索引插入行。这发生在两个索引扫描重复。 row_ins_scan_sec_index_for_duplicate()功能总是被称为功能row_ins_set_shared_rec_lock(),不管事务隔离级别LOCK_ORDINARY的。此修补程序修改row_ins_scan_sec_index_for_duplicate()函数来调用基于LOCK_ORDINARY或LOCK_REC_NOT_GAP的事务隔离级别,row_ins_set_shared_rec_lock()。 (问题#16133801)

InnoDB的:启动mysqld – innodb_log_buffer_size = 50GB内存分配失败,返回NULL。对于非调试版本中有没有检查到位,分裂失败。此修复程序添加一个日志消息表明内存分配失败,并增加了一个断言。 (问题#16069598)

InnoDB的:当启用UNIV_DEBUG的调试版本中,buf_validate()通常被称为有时会导致假阳性的测试信号等待超时。此修补程序计数器值增加,减少误报。 (问题#16068056)

InnoDB的:读写工作负载处理,InnoDB将扫描多页都需要冲洗一下,不必要的消耗的CPU资源。 (问题#16037180)

InnoDB的:explain_filename功能,它提供了分治决议的信息文件名,将返回一个错误,当试图解析的文件名是不是分区信息。 (问题#16051728)

InnoDB是:停止服务器,删除一个数据库表(d1.t1),从数据目录frm文件,重新启动服务器并删除数据库(D1),将导致断言。 (问题#16043216)

InnoDB的:一个活泼感SH表出口螺纹可能会导致挂在关机过程中。修复确保trx_is_interrupted()检查期间ibuf_merge。 (问题#15953255)

InnoDB的多行INSERT …重复键更新插入失败,导致重复键错误,导致重复的自动增量值。 (问题#14483484)

复制:时间点的恢复,你可能会失败,试图还原一个单一的数据库基于行的二进制日志格式的使用将mysqlbinlog – 数据库选项。 (问题#16698172)

复制:启用GTID的一个FLUSH TABLES语句导致复制失败的首要问题。结果发现,这种不端行为修正错误#16062608,不允许隐式提交报表,但变化不记录gtid_next集自动以外的任何值。已恢复的修补程序的变化,如报表(再次)允许在没有考虑到这个变量的值。 (错误#16715809,错误#69045)

复制:InnoDB的提交错误导致的崩溃以前的交易失去RESET MASTER语句执行。这是因为准备阶段造成一个刷新到磁盘上,但没有提交阶段相应的InnoDB内部冲洗。

为了解决这个问题,现在导致复位主存储引擎的日志被刷新提交。 (错误#16666456,错误#68932)

复制:当使用选项 – 转储 – 包括主要主机端口的mysqldump的打印端口号码引号内的,就好像它是一个字符串值,而不是一个整数。 (问题#16615117)

复制:当处理Update_rows_log_event或Delete_rows_log_event的二进制日志,哈希存储在哈希表中的第一张图像。在此之后,原来的表扫描所需的记录,每一个后续的处理,以除去从原始表中的散列,在哈希表中执行查找。但是,列读取原始图像设置为NULL,结果可能会包含随机或找到(复印件),导致失败的错误,如“垃圾”数据不能被执行Update_rows,事件表…. (问题#16621923)

参考文献:错误#11766865。这个错误是由一个错误#16566658。

复制:由于时间分辨率的问题,在某些系统上,你应该采取的线程转储站,可以计算出的回复时间小于零,导致主等待答复轮不到半同步的等待时间错误。由于这个条件没有产生负面影响复制,这些条件造成的误差已经降低到一个警告。 (问题#16579028)

复制:在二进制日志中发现,当一个或多个日志事件的发生,但不是GTID先前GTIDs日志生成的事件处理不当而导致失败的服务器错误。 (这是一种极为罕见的疾病,在正常情况下不应该发生的,二进制日志文件可能会被损坏不知何故。)现在,在这种情况下,适当的错误发出,并正确处理。 (错误#16502579,错误#68638)

复制: – 从日志更新 – 复制表野生忽略选项,在某些情况下,导致更新服务器运行的是用户变量没有被记录。 (问题#16541422)

复制:当使用mysqlbinlog的mysql客户端辊的两个或多个服务器使GTIDs,二进制日志,gtid_next变量不能正确复位切换时,从第一个到第二个二进制日志,从而导致错误处理停止在这一点上。 (问题#16532543)

复制:mysqlbinlog的选项 – 包括gtids, – 排除gtids的使用 – 跳gtids和试图处理多个文件,你不能正常工作。 (问题#16517775)

复制:当执行一个事件超出了最大的缓冲区大小(slave_pending_jobs_size_max),基于行的复制可能会挂起等待工免费挂起的事件。 (错误#16439245,错误#68462)

复制:由于并发企图进行额外旋转二进制日志旋转当二进制日志已满时,它是成功的。这可能会导致不必要的创建许多小的二进制日志文件。 (错误#16443676,错误#68575)

复制:开始从一个空的错误消息的失败后,试图执行进口的新slave_master_info slave_relay_log_info表。在这种情况下,立即发出相应的错误消息。 (错误#16475866,错误#68605)

复制:重新启动该服务器已被清空后表slave_relay_log_info mysqld的原因造成的故障,在试图返回一个错误。 (错误#16460978,错误#68604)

复制:从master断开,从在一定条件下,可以报告错误,重新连接,它已经收到一个大包比slave_max_allowed_pa​​ cket,导致复制失败。 (错误#16438800,错误#68490)

复制:MTS恢复过程中从SQL线程错误导致失败的奴隶。 (错误#16407467,错误#68506)

复制:当使用选项 – 阅读 – 从远程服务器 – 从未停止 – base64编码输出=解码行 – 详细mysqlbinlog的失败,重置计数器,用来存储当前位置在服务器上的文件时二进制日志旋转。 (错误#16316123,错误#68347)

复制:当使用mysqldump与MySQL 5.6.4或更早版本的数据库备份,设置 – 设置gtid = AUTO导致备份失败,因为在MySQL 5.6.5以前的版本不支持GTIDs去除,不能确定是否启用数据库GTIDs。此修补程序不试图确定mysqldump的输出一个集of@global.gtid_purged的声明,任何预先5.6.5的数据库备份。 (错误#16303363,错误#68314)

复制:有时可能会发生死锁集团致力于使用了大量的并发更新,当客户持有的锁,而另一个客户端实现锁定,同时旋转的二进制日志提交。 (错误错误#16491597#68251#16271657,错误,错误#68569)

复制:当启用了半同步复制,自动丢弃主人使用的事件,造成失败后不保留主完成。 (错误#15948818,错误#67276)

复制:设置一个SET NULL列在存储过程中,造成复制失败。 (错误#14593883,错误#66637)

复制:二进制日志内容有时被损坏,因为在的功能MYSQL_BIN_LOG :: write_cache一直以为它已经走到了尽头,当的缓存功能my_b_fill()’0’,但是这也意味着,在一个错误的情况下。此修复程序确保,每当my_b_fill()返回一个’0’,错误校验信息错误。 (错误#14324766,错误#60173)

复制:清除二进制日志设计不删除二进制日志文件,使用或主动,但没有提供任何通知,当这一切发生的时候。现在,在这种情况下,日志文件将不会被删除时,会发出一个警告,警告消息,包括有关的文件或文件的信息不会被删除时发了言。 (问题#13727933)

复制:黑洞二进制日志格式,更新和删除复制到不能应用,所以跳过。现在产生一个警告事件。
注意

推荐binlog_format =语句复制使用BLACKHOLE存储引擎表。

(问题#13004581)

卸下服务器RPM包没有关闭现有的服务器,如果它正在运行。 (问题#16798868)

超值性能架构线程表设置PROCESSLIST_STATE开销也有所减少。 (问题#16633515)

Windows身份验证插件未能释放的缓冲区的上下文中,为每个连接。 (问题#16591288)

DBUG_PRINT()宏不必要的评价参数调试时没有启用。 (问题#16556597)

当索引条件下推递减范围扫描,并使用第一个范围区间不包含任何符合条件的记录,扫描范围,其结果可能是空的,即使其他的范围区间包括符合条件的记录。 (问题#16483273)

服务器可以尝试操作大小为零的文件排序分拣长度退出。 (问题#16503160)

my_load_defaults()被修改,以适应一些问题,在处理过程中使用的GCC 4.7.2编译器选项,它可能会导致客户端崩溃。 (问题#16497125)

打开游标,存储过程中的SELECT可能导致分割故障。 (问题#16499751)

参考文献:这个错误是一个回归的bug#14740889。

@’%’和User SET PASSWORD手柄用户“指的是相同的mysql.user表行(问题#16488043)

工作不足WKB几何数据输入法的数据验证,这可能导致Valgrind的错误或服务器退出。 (错误,错误#12772601#16510712)

有些INFORMATION_SCHEMA查询使用ORDER BY是不是没有用的,因为他们不是在MySQL 5.5优化的文件排序。 (问题#16423536)

性能结构参数,在启动时自动调整,不考虑未来的结构性能参数依赖于其他的启动参数的变化自动调整大小。 (问题#16430532)

的WKB读者空间操作可能会失败,并导致服务器退出。 (问题#16451878)

比启发式优化文件访问访问楼盘的首选范围,参照的情况下,裁判的访问,当一列表中的在连接SEQENCE早期。 (问题#16437940)

手动创建的帐户的(使用INSERT),和畸形的密码是有效的,没有密码。 (问题#16414396)

SQL板凳目录应该是一个可执行文件,不是可执行位设置了访问几个剧本。 (问题#16395606)

对于调试版本,DBUG_EXPLAIN在一个缓冲区溢出调试系统变量值超过255个字符的结果。 (问题#16402143)

XA事务处于活跃状态,造成隐式提交的语句可能会导致过早释放的元数据锁。 (问题#16362832)

Debian的软件包安装在Ubuntu 12.10上成功使用dpkg的,但不能与软件中心5.4.1.4。 (问题#16387513)

在空闲或准备启用查询缓存的查询执行调试版本,XA事务状态,可能导致服务器退出。 (问题#16388996)

thread_pool_high_priority_connection不能设置在服务器启动时。 (问题#16310373)

然后执行存储过程,可能会导致一台服务器,退出Item_field :: fix_outer_field。 (问题#16317443)

ÂGROUP_CONCAT()调用,包含一个子查询会导致服务器退出与外部参考。 (问题#16347343)

随着启用secure_auth,使用前4.1(旧)用户的密码哈希可以不更新它使用4.1(新)哈希。 (问题#16304018)

对于调试版本,GROUP_CONCAT(ORDER BY)ORDER BY子句可能会导致服务器内退出。 (问题#16347426)

的validate_password插件并不总是执行适当使用空白密码和分布约束。 (问题#16346443)

对于调试版本,服务器可能会退出涉及嵌套子查询,子查询动态和半连接的查询使用意见。 (问题#16317076)

动态范围优化,不能​​设置正确的查询范围,使用XOR操作。 (问题#16272562)

该mysql_secure_installation无法连接到服务器,如果帐户密码已经过期。它调用mysql的非交互式的,所以程序无法连接。现在mysql支持A – 连接过期的密码选项,表示到服务器,它可以处理过期密码的帐户,即使非交互式调用,调用MySQL的mysql_secure_installation,使用此选项沙箱模式。 (问题#16248315)

如果您使用MIN()上查询,使用松散索引扫描分割故障可能发生。 (问题#16222245)

如果有多个报表审计日志插在一个单一的请求,发送记录,只有最后一个。现在,它是为每个单独记录。 (问题#16169063)

对于调试版本,断言使用eq_ref访问和文件排序错误地执行查询。 (问题#16164885)

规定以外的连接表和派生表之间的隐性组可能会导致服务器退出。 (问题#16177639)

准备好的语句,GROUP_CONCAT()和ORDER BY子句命名多个列中可能会导致服务器退出。 (问题#16075310)

不指定表的连接字符串创建联席牵头的服务器退出。 (问题#16048546)

匹配ORDER BY …可能会导致服务器退出反对。 (问题#16073689)

从MySQL 5.6.4和客户端程序,可以混淆旧的服务器在连接过程中,通过使用新的协议不明白的旧服务器。 (问题#15965409)

mysql.server的脚本是出口订单的状态是一个错误,如果你运行多个服务器。 (问题#15852074)

使用值()函数值()子句在INSERT语句中,可能会导致Valgrind的警告或服务器不稳定,它可能会导致服务器退出。 (问题#14789787)

在某些情况下,它可能会失败,REVOKE GRANT OPTION权限撤销。 (问题#14799187)

mysql客户端分配但没有释放一个字符串,每一行后读互动模式,导致了内存泄漏。 (问题#14685362)

结束一个连接,它是在断开的过程中,可能会导致断言被触发,Valgrind的警告,和一般不稳定。 (问题#14560522)

INSERT …重复键更新视图,可能会导致服务器退出。 (问题#14261010)

外部BLOB列在子查询中分组导致了服务器退出。 (错误,错误#14700180#13966809)

服务器可以退出,由于处理比较无效的错误。 (问题#13009341)

CMake的time_t的无符号检查在所有平台上的失败。 (问题#11766815)

mysqladmin的调试导致服务器错误日志写入调试信息。的支持mallinfo(),这部分的输出存储器状态是不正确的,在64位环境中mysqld的消耗超过4GB的系统内存。

现在的服务器使用malloc_info,()来获取内存状态信息。 malloc_info()不报告的glibc的malloc()实现企业内部分配的内存使用mmap()。然而,它提供了所有的内存跟踪内存使用信息。

此bug修复也需要改变输出格式。服务器现在写,而不是存储在XML格式的纯文本信息。例如:

记忆体状态:
























(问题#11746658)

用于在64位Mac OS X系统,而不是x86的x86_64的确定不同的机器时,CMake的。 (错误,错误#11765489#58462)

mysql客户端与拉美相比,对于某些不正确,即使使用多字节字符集,默认的启动导致客户端崩溃。 (错误,错误#16182919#68107)

在mysql datatbase的的帮助地址栏表太短,以适应一些网址,帮助内容。现在,您已经创建了这些列作为文本类型,以容纳较长的网址。 (错误,错误#12671635#61520)

mysqld的 – 帮助和mysqld – 详细 – 帮助不必要的记录。 (错误,错误#16442113#68578)

InnoDB不支持全文解析器插件,但没有报告一个错误,如果他们被分配。现在返回一个ER_INNODB_NO_FT_USES_PARSER错误。 (错误,错误#12843070#62004)

如果是用来评估一个查询比较松散索引扫描一个整数列指定一个整数作为带引号的字符串(例如,COL_NAME = ‘1’),查询可能返回不正确的结果。 (错误,错误#16394084#68473)

IF()函数评估可能会产生不同的结果,当执行一个准备好的声明nonprepared。 (错误,错误#11753852#45370)

如果您需要SSL支持功能,如AES_DECRYPT()失败,错误可能会影响未来的呼叫需要SSL支持功能。 (错误,错误#16315767#68340)

在一个MySQL服务器比MySQL 5.5采用了新的报告mysql.user表nonupgraded的(此mysql_upgrade尚未运行),设置密码导出服务器由于考试password_expired一个错误引起的。 (错误,错误#16339767#68385)

现在,您可以抑制CMake的从源代码调用INSTALL_MYSQLTESTDIR明确设置选项来编译安装mysql-test目录后,MySQL是空:

CMake的。 DINSTALL_MYSQLTESTDIR =

此前,试图做的,它会导致一个错误。 (错误,错误#11765629#58615)

当只有计数事件,但不时的性能的框架报告MIN_TIMER_WAIT值作为一个大数目,但不为零。 (错误,错误#16552425#68768)

前缀用于访问的索引范围内,可能会产生不正确的结果。 (错误,错误#16540042#68750)

对于调试版本中,元数据锁的CREATE TABLE …选择可以提高断言。 (错误,错误#16503173#68695)

CMake提供一个新的选项,WITH_EDITLINE,指示是否使用的捆绑的libedit的库/ editline库或系统。允许值(默认)和系统捆绑。

WITH_EDITLINE取代WITH_LIBEDIT,已被删除。 (错误,错误#16430208#68558)

当在选项文件中指定的客户端插件目录选项被忽略。 (错误,错误#16680313#68800)

在以后的调用,派生表上的索引,在第一次调用一个存储过程使用不使用。 (错误,错误#16346367#68350)

DELETE和UPDATE语句,解释一些常数的情况下,它是更合适的裁判栏显示NULL。 (错误,错误#16296268#68299)

优化程序可以选择一个很差的查询执行计划订单… LIMIT。 (错误,错误#16697792#69013)

FOUND_ROWS()返回的值不正确,如果上面的查询使用的文件进行排序。 (错误,错误#16760474#69119)

参考文献:这个错误是一个回归的bug#68458。

分类: mysql优化 标签:
  1. 本文目前尚无任何评论.
您必须在 登录 后才能发布评论.
css.php