内容简介:MariaDB 10.4.6 发布了,MariaDB 10.4.6 是一个 GA 稳定版。MariaDB主要由开源社区在维护,采用 GPL 授权许可。 发布日期: 2019.06.18 MariaDB 10.4 是 MariaDB 10.3 的演进版,带来了几个全新功能,并且具有 My...
MariaDB 10.4.6 发布了,MariaDB 10.4.6 是一个 GA 稳定版。MariaDB主要由开源社区在维护,采用 GPL 授权许可。
发布日期: 2019.06.18
MariaDB 10.4 是 MariaDB 10.3 的演进版,带来了几个全新功能,并且具有 MySQL 的后端和重新实现的功能。
Authentication
- See Authentication from MariaDB 10.4 for an overview of the changes.
- The unix_socket authentication plugin is now default on Unix-like systems, which is a major change to authentication in MariaDB (MDEV-12484)
- User password expiry (MDEV-7597)
- Account Locking (MDEV-13095)
- The obsolete mysql.host table is no longer created (MDEV-15851)
- Much faster privilege checks for MariaDB setups with many user accounts or many database grants (MDEV-15649)
- mysql.user table is retired. User accounts and global privileges are now stored in the mysql.global_priv table (MDEV-17658)
- SET PASSWORD support for ed25519 and other authentication plugins (MDEV-12321)
InnoDB
- Added instant DROP COLUMN and changing of the order of columns (MDEV-15562)
- Reduced redo log volume for undo tablespace initialization (MDEV-17138)
- Removed crash-upgrade support for pre-10.2.19 TRUNCATE TABLE (MDEV-13564)
- Added key rotation for innodb_encrypt_log (MDEV-12041)
- Implement innodb_checksum_algorithm=full_crc32 (MDEV-12026)
- More Instant VARCHAR extension (MDEV-15563)
- Instant collation or charset changes for non-indexed columns (MDEV-15564)
- Use in-memory PK filters built from range index scans (MDEV-16188)
Optimizer
- Implementation of the optimizer trace, one can enable the optimizer trace by enabling the system variable optimizer_trace (MDEV-6111)
- Engine Independent Table Statistics is now enabled by default; new default values are use_stat_tables=PREFERABLY_FOR_QUERIES and optimizer_use_condition_selectivity=4 (MDEV-15253)
- Two new values for the variable use_stat_tables:
COMPLEMENTARY_FOR_QUERIES
andPREFERABLY_FOR_QUERIES
(MDEV-17255) - Histograms are now collected by default (MDEV-18608).
- analyze_sample_percentage variable added. The default value is 100 (
ANALYZE
will use the whole table), but one can also set analyze to only use a sample of table data to collect the statistics.
- Two new values for the variable use_stat_tables:
- Push conditions into materialized IN subqueries (MDEV-12387)
- The optimizer switch flag
optimize_join_buffer_size
now defaults toon
(MDEV-17903) - New optimizer switch flags
rowid_filter
andcondition_pushdown_from_having
Syntax
- System-versioning extended with support for application-time periods.
- Support of brackets (parentheses) for specifying precedence in UNION/EXCEPT/INTERSECT operations (MDEV-11953)
- New FLUSH SSL command to reload SSL certificates without server restart (MDEV-16266)
- New
CAST
target —CAST(x AS INTERVAL DAY_SECOND(N))
(MDEV-17776) IF NOT EXISTS
clause added to INSTALL PLUGIN andIF EXISTS
clause added to UNINSTALL PLUGIN and UNINSTALL SONAME (MDEV-16294)
Variables
For a list of all new variables, see System Variables Added in MariaDB 10.4 and Status Variables Added in MariaDB 10.4.
- Added to the tcp_nodelay system variable (MDEV-16277)
- Removed the Innodb_pages0_read status variable (MDEV-15705).
- New sql-mode setting,
TIME_ROUND_FRACTIONAL
(MDEV-16991) - New variable gtid_cleanup_batch_size for determining how many old rows must accumulate in the mysql.gtid_slave_pos table before a background job will be run to delete them.
- The default for eq_range_index_dive_limit is now
200
(previously0
) (MDEV-18551) - core_file on Windows now defaults to
ON
(MDEV-18439)
Galera
Galera 4 version 26.4.0 has been added to MariaDB 10.4
Upgrading to Galera 4 version 26.4.0
Rolling upgrades from earlier 10.3 (or older) MariaDB releases are not supported in this release. For upgrading a 10.3-based cluster, any applications accessing the cluster should be stopped and the cluster shut down. Then for each cluster node the following procedure should be carried out:
- Install MariaDB 10.4.2 and Galera 4 version 26.4.0
- Start MariaDB server, but make sure it is not trying to connect to the cluster by configuring
wsrep_provider=none
- While MariaDB server is running, run
mysql_upgrade
for the server - Stop MariaDB server
After that, you can bootstrap the cluster. If there was ongoing application load on the cluster during the initial cluster shutdown phase, you should make sure to bootstrap the cluster with the node which was shutdown last.
We are working on rolling upgrade support for the final GA version of MariaDB 10.4. With a rolling upgrade, a live cluster can be upgraded node by node, and the cluster is able to process application load when having a hybrid setup of 10.3 and 10.4 nodes.
New Features in Galera 26.4.0
The ‘mysql’ schema contains new Galera replication related tables:
wsrep_cluster
wsrep_cluster_members
wsrep_streaming_log
End users may read but not modify these tables.
The new streaming replication feature allows replicating transactions of unlimited size. With streaming replication, a cluster is replicating a transaction in small fragments during transaction execution. This transaction fragmenting is controlled by two new configuration variables:
wsrep_trx_fragment_unit (bytes, rows, statements)
defines the metrics for how to measure transaction size limit for fragmenting. Possible values are:bytes
: transaction’s binlog events buffer size in bytesrows
: number of rows affected by the transactionstatements
: number of SQL statements executed in the multi-statement transaction
wsrep_trx_fragment_size
defines the limit for fragmenting. When a transaction’s size, in terms of the configured fragment unit, has grown over this limit, a new fragment will be replicated.
Transactions replicated through galera replication will now process the commit phase using MariaDB's group commit logic. This will affect transaction throughput, especially when binary logging is enabled in the cluster.
Limitations in Galera 26.4.0
- Upgrading from 10.3 version 25.3.25 to 10.4 version 26.4.0 must happen on a stopped cluster. Only after all nodes have been upgraded to MariaDB 10.4 and Galera 26.4.0 can the cluster be started up
- Splitting transactions of
LOAD DATA
execution will conflict with streaming replication, and should not be used if streaming replication is configured
General
- Crash safe Aria-based system tables (MDEV-16421)
- Added Linux abstract socket support (MDEV-15655)
- Enabled C++11 (MDEV-16410)
- Performance improvements in Unicode collations (MDEV-17534, MDEV-17511, MDEV-17502, MDEV-17474)
- User data type plugins (MDEV-4912, in progress)
- Improvements with SQL standard INTERVAL support to help functions TIMESTAMP() and ADDTIME() return more predictable results.
- Historically, MariaDB uses the TIME data type for both "time of the day" values and "duration" values. In the first meaning the natural value range is from '00:00:00' to '23:59:59.999999', in the second meaning the range is from '-838:59:59.999999' to '+838:59:59.999999'.
- To remove this ambiguity and for the SQL standard conformance we plan to introduce a dedicated data type INTERVAL that will be able to store values in the range at least from '-87649415:59:59.999999' to '+87649415:59:59.999999', which will be enough to represent the time difference between TIMESTAMP'0001-01-01 00:00:00' and TIMESTAMP'9999-12-31 23:59:59.999999'.
- As a first step we support this range of values for intermediate calculations when TIME-alike string and numeric values are used in INTERVAL (i.e. duration) context, e.g. as the second argument of SQL functions TIMESTAMP(ts,interval) and ADDTIME(ts,interval), so the following can now be calculated:
SELECT ADDTIME(TIMESTAMP'0001-01-01 00:00:00', '87649415:59:59.999999'); -> '9999-12-31 23:59:59.999999' SELECT TIMESTAMP(DATE'0001-01-01', '87649415:59:59.999999') -> '9999-12-31 23:59:59.999999' SELECT ADDTIME(TIME'-838:59:59.999999', '1677:59:59.999998'); -> '838:59:59.999999'
- Support for window UDF functions via the new method x_remove (MDEV-15073)
- Json service for plugins (MDEV-5313)
- Change in behavior for FLUSH TABLES (MDEV-5336).
- The JSON_VALID function is automatically used as a CHECK constraint for the JSON data type alias in order to ensure that a valid json document is inserted (MDEV-13916)
- MariaDB Named Commands (MDEV-17591)
有关 MariaDB 10.4.6 所做更改的完整列表,请参阅更新日志。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- React Suite 4.4.0 版本发布 ????,带来了一些新特性
- MicroProfile 2.0 在路上,看看 1.3 版本带来了哪些优点
- 百度发布 Paddle Fluid v1.3 版本,带来多项重要更新
- MariaDB 10.3 首个 GA 版本 10.3.7 发布,带来多项更新
- 数据生成工具 ZenData 发布 1.7 版本,全新设计工具带来更佳体验
- MariaDB 10.4 首个 GA 版本 10.4.6 发布,带来多项更新
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构与算法分析
韦斯 (Mark Allen Weiss) / 机械工业出版社 / 2009-1-1 / 55.00元
本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。 随着计算机速度的不断增加和功能的日益强大,人们对有效编程和算法分析的要求也不断增长。本书把算法分析与最有效率的Java程序的开发有机地结合起来,深入分析每种算法,内容全面、缜密严格,并细致讲解精心构造程序的方法。一起来看看 《数据结构与算法分析》 这本书的介绍吧!