MySQL 5.7.14 發布

2021-02-20 Linux伊甸園開源社區

Performance: A flaw in the allocation of memory for appending string values caused some operations to be performed slowly, including creation of tables having generated columns and inserts of large values into JSON columns. (Bug #80556, Bug #22843444)

References: See also: Bug #22157531, Bug #22239803.

InnoDB: Full-text search auxiliary tables could be dropped by one session while being access by another. (Bug #23742339)

InnoDB: Selecting full-text index information schema tables for a deleted table caused a segmentation fault. (Bug #23479595)

InnoDB: A tablespace operation did not properly update the SYS_VIRTUAL system table. (Bug #23325659)

InnoDB: Rollback of a full-text index synchronization operation raised an assertion. The rollback operation attempted to acquire a mutex still held by the background synchronization thread. (Bug #23320569)

InnoDB: After compressing a table, an incorrect data length was passed to an internal tablespace encryption function, causing an assertion. (Bug #23279788)

References: This issue is a regression of: Bug #22956469.

InnoDB: An r-tree page lock placed during a search operation prevented an undo operation within the same transaction from merging pages. (Bug #23241575)

InnoDB: A bulk load insert of a record with a compressed size greater than half of the compressed page size resulted in infinite B-tree page splitting when compressing the uncompressed page. (Bug #23120933)

InnoDB: A lock order violation related to InnoDB full-text search caused errors and raised an assertion. (Bug #23120005)

References: This issue is a regression of: Bug #22996488.

InnoDB: In read-only mode, InnoDB attempted to set a corrupt bit in the SYS_INDEXES system table. In read-only mode, the corruption should only be marked in memory. (Bug #23077748)

InnoDB: InnoDB attempted to materialize non-key generated virtual columns that were not required for partitioning. (Bug #23037025)

References: This issue is a regression of: Bug #21864838.

InnoDB: An insert operation on a table containing virtual and spatial indexes raised an assertion due to an invalid parent path encountered during page splitting. (Bug #23008863)

InnoDB: An ALTER TABLE operation on a table with an indexed virtual column raised an assertion. (Bug #22965271)

InnoDB: Adding or dropping a generated virtual column could raise an assertion due to a table handle held by an active memcachedconnection. (Bug #22922527)

InnoDB: A full-text query that involved a large number of records exceeded the result cache limit and caused a server exit. (Bug #22709692, Bug #80296)

InnoDB: InnoDB did not block the creation of a foreign key constraint with referential actions on the base column of a generated stored column. (Bug #22687023, Bug #80304)

InnoDB: The optimizer failed to mark the columns required for MATCH function evaluation when the secondary index used for the full-text query was not chosen by the optimizer. (Bug #22679209, Bug #80298)

InnoDB: In READ COMMITTED isolation level, InnoDB unnecessarily acquired the lock_sys mutex at COMMIT for a transaction block consisting of read-only SELECT statements.

Thanks to Zhai Weixiang for the patch. (Bug #22617328, Bug #76728)

InnoDB: Setting innodb_monitor_enable to all did not enable all counters. (Bug #22576241, Bug #80083)

InnoDB: InnoDB now permits defining a foreign key constraint with a cascading referential action on the base column of an indexed virtual column, and defining cascading referential actions on non-virtual foreign key columns that are explicitly included in a virtual index. (Bug #22469130, Bug #79772)

InnoDB: An assertion was raised during rollback of an ALTER TABLE operation that dropped and added a secondary index. (Bug #22005726)

Partitioning: In some cases, an issue with partition pruning being attempted a second time during optimization after all partitions had already been pruned at parsing time led to an assert. (Bug #23194259)

Replication: Replication slaves could exit trying to apply an UPDATE row event containing virtual generated columns received from a master that was set to binlog_row_image=minimal. (Bug #23604483)

Replication: When using row-based replication and InnoDB, replication slaves reverted to using an older locking scheme when a transaction had already acquired an AUTOINC lock related to a LOAD FILE or INSERT ... SELECT type of statement, reducing replication slave performance. The fix ensures that sql_command is set correctly for any of the DML events such as WRITE_ROWS_EVENT,UPDATE_EVENT, and DELETE_EVENT. (Bug #79324, Bug #22247668)

Replication: When using statement-based or mixed binary logging format with --read-only=ON, it was not possible to modify temporary tables. (Bug #62008, Bug #12818255)

References: See also: Bug #14294223, Bug #16561483.

MySQL Server upgrades performed using RPM packages failed when upgrading from MySQL 5.6 Community to MySQL 5.7 Community or MySQL 5.6 Commercial to MySQL 5.7 Commercial. (Bug #23736787)

On CentOS, mysqld installed from a MySQL Community distribution failed to start if a my.cnf file with no datadir value specified was used. (Bug #23721277, Bug #82049)

The -DWITH_EDITLINE=system CMake option failed with recent versions of the editline library. (Bug #23708332)

Executing prepared statements with the audit_log plugin installed could cause a server exit. (Bug #23699991)

The sys schema ps_trace_statement_digest() procedure failed for statements not supported by EXPLAIN, for statements for whichEXPLAIN could not find tables, and for statements with no digest found during the monitored period. (Bug #23621189)

A SELECT Performance Schema tables when an internal buffer was full could cause a server exit. (Bug #23550835, Bug #23298025, Bug #81464)

The code for reading character set information from Performance Schema statement events tables (for example,events_statements_current) did not prevent simultaneous writing to that information. As a result, the SQL query text character set could be invalid, which could result in a server exit. Now an invalid character set causes SQL_TEXT column truncation. (Bug #23540008)

An error message spelling error was corrected. Thanks to Derek Jones for the patch. (Bug #23525874, Bug #81713)

In the Performance Schema, allocating a record when a buffer was full could lead to a server exit. (Bug #23515302)

Several issues for Debian/Ubuntu packages were fixed:

(Bug #23501369, Bug #81647, Bug #22972977, Bug #21236550, Bug #21228746, Bug #22833016, Bug #23582336)

The mysql-systemd-start script in the mysql-community-server package depended on mysqladmin for the ping command. Packages including this script now are made dependent on the mysql-community-client package.

The systemd service still used mysqld_safe. It now uses mysqld --daemonize.

Entering a blank root password during the installation process caused installation to hang.

MySQL upgrades failed to create a missing data directory.

In addition, CMake-generated packaging for Debian/Ubuntu packages was refactored for improved maintainability.

A buffer overflow in the regex library was fixed. (Bug #23498283)

Upgrading from native MySQL 5.6 Debian/Ubuntu packages to Oracle-supplied MySQL 5.7 packages caused server restart failures. (Bug #23498230)

The CMake configuration was too aggressive in making symbols invisible, resulting in link problems with GCC 5.3 on Solaris. (Bug #23344916, Bug #81593)

Audit log filtering against the user was performing comparisons against USER(), not CURRENT_USER(). (Bug #23344762)

After upgrading only the server using RPM packages, the server could fail to start, complaining about a bad errmsg.sys file. (Bug #23338603)

References: This issue is a regression of: Bug #18518216.

Several issues were addressed in the sys schema stored procedures that show enabled or disabled Performance Schema setup:

(Bug #23335880, Bug #22066096, Bug #78874)

Enabled and disabled accounts were shown as host@user, not user@host.

Disabled users in ps_setup_show_disabled were called enabled_users.

ps_setup_show_enabled() showed disabled objects.

setup_actors content was not filtered (all rows were returned whether the actor was enabled or disabled).

Output order is more deterministic.

Upgrading from native Ubuntu 5.7.12 packages to MySQL 5.7.13 packages failed with conflict messages. (Bug #23327563)

For debug builds, the server exited abnormally if a shutdown command was issued while the audit_log plugin was loaded and an active connection existed. (Bug #23310864)

The server could fail to interpret expired passwords as expired. (Bug #23291841)

Certain arguments to NAME_CONST() could cause a server exit. (Bug #23279858)

For unit-testing with the MySQL test suite, the make unit-test command is no longer available. The ctest program should be used instead. See Unit Tests Added to Main Test Runs. (Bug #23273434)

Audit log plugins (including query rewrite plugins, which use the audit API) were being acquired and released per statement, negatively affecting scalability. To improve performance, these plugins now are acquired once and released only when the connection ends. (Bug #23236404, Bug #81298)

mysql-test-run.pl now has a --manual-boot-gdb option that is similar to --boot-gdb but attaches the debugger to the server during the bootstrapping process, permitting the use of a remote debugger. (Bug #23090633)

The -fexpensive-optimizations option to GCC caused ARM64 and PowerPC builds to compute floating-point operations slightly differently from other platforms. CMake now checks for this problem and disables the option as necessary. (Bug #23046775)

The test_service_sql_api.test_session_general_log test case now cleans up the general_log table by truncating it at the end of the test. Thanks to Daniel Black for the patch. (Bug #23021111, Bug #80895)

Lines written to the error log had no space separating the timestamp and thread ID columns if the thread ID took five or more characters. (Bug #23005009, Bug #80854)

For the innodb_buffer_stats_by_schema and innodb_buffer_stats_by_table sys schema views, the pages_hashed and pages_oldcolumns were incorrect. Thanks to Tsubasa Tanaka for the patch. (Bug #22988461, Bug #80833)

An incorrect result could be returned for a query using a merged derived table or a view when compared to a similar query using a base table directly, if the query included a WHERE condition in a scalar subquery inside a HAVING condition of the main query block. (Bug #22967439)

ST_GeomFromGeoJSON() treated JSON NULL as invalid input. Now it treats JSON NULL as SQL NULL and thus returns SQL NULL for JSONNULL input. (Bug #22930020, Bug #80712)

For the host_summary_by_statement_latency and x$host_summary_by_statement_latency sys schema views, the max_latencycolumn was incorrect. (Bug #22848110, Bug #80569)

ST_Distance() could raise an assertion for NULL return values. (Bug #22760390)

In the absence of SQL_CALC_FOUND_ROWS, FOUND_ROWS() for a UNION statement always returned the actual number of rows found even when LIMIT was present. (Bug #22602381, Bug #80148)

A statement containing a format specifier resulted in a server exit when the query rewrite plugin tried to log the statement. (Bug #22601485)

With the query cache enabled, executing a prepared statement with CURSOR_TYPE_READ_ONLY and then again withCURSOR_TYPE_NO_CURSOR caused the server to return an error. (Bug #22559575, Bug #80026)

mysql_real_connect() was not thread-safe when invoked with the MYSQL_READ_DEFAULT_FILE or MYSQL_READ_DEFAULT_GROUP option enabled. (Bug #22322504, Bug #79510)

With GTIDs enabled, XA COMMIT on a disconnected XA transaction within a multiple-statement transaction raised an assertion. (Bug #22173903)

The sys schema create_synonym_db() function failed if the synonym name was a reserved word or contained backtick (`) characters. (Bug #22011361, Bug #78823)

The sys schema host_summary view could fail with a division-by-zero error. (Bug #21970078)

The GCC workaround for compiling on ARM64 added by Bug #21552524 is needed only for GCC before 5.2.1. (Bug #21845828)

References: See also: Bug #21552524.

The sys schema format_path() function replaced substrings of the path name argument without verifying that the substrings were delimited by path name separators. Replacement now works correctly, including on Windows. A consequence is that backslashes in Windows path names are no longer converted to forward slashes in the result. (Bug #21512106)

MySQL now supports compiling using the GCC __atomic builtins introduced in GCC 4.7 that permit a more efficient implementation of the MySQL atomics API. These __atomic builtins are only used for platforms where the old GCC __sync builtins are not available, such as PowerPC where the server otherwise would not build. (Bug #21221500)

If a stored function updated a view for which the view table had a trigger defined that updated another table, it could fail and report an error that an existing table did not exist. (Bug #21142859, Bug #76808)

mysql_upgrade failed to upgrade the sys schema if a sys database directory existed but was empty. (Bug #81352, Bug #23249846, Bug #22875519)

The bundled Protobuf sources (under the extra directory) were upgraded from version 2.6.0 to 2.6.1. (Bug #81280, Bug #23213376)

Protobuf is currently used only by the X plugin, but MySQL builds built the protobuf libraries and executables even if X plugin building was disabled with -DWITH_RAPID=0. (Bug #81066, Bug #23097750)

On Solaris, a misaligned memory buffer could cause a server exit when selecting from the global_status Performance Schema table. (Bug #81065, Bug #23097305)

A compilation error was corrected for a make_link() call when compiling in C++11 mode. Thanks for Daniel Black for the contribution. (Bug #80996, Bug #23080289)

Two mysql-test-run.pl tests (ctype_gb18030_binlog and ctype_ldml) failed to produce repeatable output due to improper cleanup. Thanks to Daniel Black for the patch. (Bug #80896, Bug #23021095)

MySQL failed to build with GCC 6 using the default mode for C++ of -std=gnu++14. The CMake configuration has been adjusted to explicitly set the mode to -std=gnu++03 for GCC 6. (Bug #80371, Bug #22732697)

Ubuntu packages create the root user account using the auth_socket authentication plugin to achieve secure-by-default installation if installation was done with a blank root password. However, auth_socket was being used even if the password was not blank. (Bug #80137, Bug #22594846, Bug #23321113, Bug #81518)

Compiling the InnoDB memcached plugin did not work on some platforms where MySQL was configured using -DWITH_LIBEVENT=system. (Bug #80073, Bug #22573379, Bug #23567441)

The client-side plugin deinitialization function signature was changed from int (*deinit)() to int (*deinit)(void) to avoid warnings when compiling with -Wstrict-prototypes. (Bug #78177, Bug #21680094, Bug #81419, Bug #23282498)

相關焦點

  • MySQL 關鍵字查詢
    InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8 COMMENT='測試表';BEGIN;INSERT INTO `test` VALUES ('1', 'chenyulong', '56'), ('2', 'maxiaoming', '33'), ('3', 'huxiaofeng', '23'), ('4', 'huangyi', '38'), ('5'
  • 經驗總結:被MySQL UTF8編碼坑的慘痛教訓
    MySQL一直不承認這是一個bug,他們在2010年發布了「utf8mb4」字符集來繞過這個問題,在MySQL中,utf8mb4才應該是標準的utf8編碼,並且官方很雞賊的偷偷在最新的文檔中加上了,算是認識到錯誤了吧:utf8 is an alias for the utf8mb3 character set.
  • 記住沒:永遠不要在 MySQL 中使用 UTF-8
    MySQL 一直沒有修復這個 bug,他們在 2010 年發布了一個叫作「utf8mb4」的字符集,繞過了這個問題。當然,他們並沒有對新的字符集廣而告之(可能是因為這個 bug 讓他們覺得很尷尬),以致於現在網絡上仍然在建議開發者使用「utf8」,但這些建議都是錯誤的。
  • Ubuntu 移動版本:Ubuntu Touch OTA-14 發布
    Ubuntu Touch OTA-14 發布,Ubuntu Touch 是 Ubuntu 作業系統的移動版本。新版本引入了對更多設備的支持,更新了驅動程序和硬體支持,並且做了一些接口改進。新加入的設備:小米 Redmi 4X(由 Danct12 維護)華為 Nexus 6P(由 Florian Leeber 維護)索尼 Xperia Z4 平板電腦(由 Guf 維護)發布公告中稱,對於 OTA-14,專注選擇 Android 9 支持。
  • aelf Enterprise 0.8.0 alpha版正式發布
    explorer v0.8.0 alpha  □ aelf wallet v0.8.0 alpha  □ aelf JS SDK 3.2.13    □ aelf CLI in Nodejs v0.1.7
  • 20周年紀念:OpenBSD發布5.8版本
    OpenBSD 5.8是一個大規模的更新,其中加入了大量改進,包括硬體支持、通用網絡堆棧、安裝器、路由後臺、用戶層網絡、安全性,此外還有各種核心組件和包,涵蓋了Apache Web伺服器、OpenSMTPD、OpenSSH、LibreSSL、以及Syslogd。
  • 「14+7+7」!最新疫情防控措施!
    為切實防範境外疫情輸入風險,進一步抓緊抓實外防輸入工作,遼寧省疫情防控總指揮部決定調整入境人員疫情防控措施,對入境人員實行「14+7+7」疫情防控措施。即對入境人員實行14天集中隔離醫學觀察後,再進行7天居家隔離觀察(不符居家隔離條件的進行集中隔離)和7天社區健康監測。
  • 三星Note 5發布:S6跟Note 4的結合體
    8月13日晚間11點在紐約召開的2015年Galaxy系列新品發布會上,三星正式發布了第五代note設備--Galaxy Note
  • 14+7+7?咽拭子、口咽拭子、鼻咽拭子、肛拭子?
    入冬以來,全國多地出現入境人員在14天集中隔離醫學觀察後核酸檢測陽性
  • 前11月遊客人數增長7.5% | 泰國紀念大海嘯14周年
    數據顯示:泰國今年前11個月接待了34,431,489名國際遊客,比去年同期增長了7.53%,估計旅遊收入達18萬億泰銖,增長9.79%。泰旅局長育塔薩對此表示:「2018年的最後一個季度的成果豐碩,這是對泰國旅遊業的充分肯定,我們對此感到十分榮幸。
  • -7℃飆至14℃?!泰安天氣秒入春?!接下來這幾天...
    今天雖然是「大寒」,最低溫只有-7℃,但天氣卻是「大暖」的趨勢。下周三,最高氣溫將飆升至10℃,1月31日,最高溫更是達到了14℃!簡直是「一秒回春」!太溫暖了有木有?不過小夥伴們也不能太大意,最高溫度達到14℃,但最低溫還是在0℃上下徘徊。也就是說,早晚會比較冷!
  • 蘋果發布iOS 14.1:解決了多項Bug修復
    近日,蘋果發布了iOS 14.1/iPadOS 14.1正式版更新。
  • 權威發布:長春查出7批酒有問題,高粱酒、玉米酒都在內!
    近期,長春市市場監督管理局網站發布2020年第47期食品安全監督抽檢信息。得知該局組織抽檢合格樣品387批次,不合格樣品11批次。不合格樣品中:酒類7批次, 檢測機構為遼寧惠康檢測評價技術有限公司。1.寬城區老袁頭酒坊銷售的五糧酒50度2020-09-14,酒精度55.5%vol,不符合49~51%vol的標準規定;2.寬城區老袁頭酒坊銷售的三糧酒50度2020-09-14,酒精度58.6%vol,不符合49~51%vol的標準規定;3.寬城區孫佔榮純糧燒酒廠銷售的玉米酒60度2018-08-18,酒精度57.1%vol,不符合59~61%vol的標準規定
  • 黔東南一網民發布與事實不符言論並辱罵公安機關,被拘留5日!
    2019年7月5日14時07分,黔東南州公安局交警支隊接到省交警總隊負面輿論警情通報,有網民在新浪微博發布辱罵公安機關車管部門的言論,並聲稱黔東南州公安局交警支隊車管所民警服務態度惡劣。經查2019年7月5日13時46分新浪微博用戶Dcarexxx通過新浪微博發布的辱罵與誹謗公安機關的惡劣言論發布人系機動車駕駛證考試學員王某仙(女)
  • What is China's New 14+7 Day Extended Quarantine Policy?
    to 21 days at the end of last month, more and more cities and provinces across China have started to adopt the new 14+7 policy.
  • iOS 14.5新功能:解鎖iPhone更方便!
    2月2日消息,據國外媒體報導,蘋果在行動作業系統iOS 14.5測試版中確認了一個新功能,戴著口罩的用戶可以使用智能手錶Apple
  • 印尼氣象、氣候和地球物理局就馬魯古7.3級地震發布海嘯預警
    地震時間: 15-11-2014 09:31:44 WIB震級: 7.3 SR, 137 km BaratLaut HALMAHERABARAT-MALUT
  • 2020.5.13 | 英文早點—2050萬個工作崗位流失,美國4月份失業率高達14.7%
    Coronavirus deals U.S. job losses of 20.5 million, historic unemployment rate in AprilThe U.S. economy lost a staggering 20.5 million jobs in April, the steepest plunge