MySQL 8.0.3 RC is about to be released. Let’s take a look at the changes

MySQL 8.0.3 RC is about to be released. Let’s take a look at the changes

MySQL 8.0.3 is about to be released. Let’s take a look at what’s new

MySQL 8.0.3 is about to release the RC version, which means that version 8.0 is getting closer to GA.

Here are some important new features and changes in version 8.0.3:

1. Directly abolish query cache (it should just close the entrance. If you compile the source code yourself, you can enable it again)

2. The query optimizer supports modifying certain session-level options directly in SQL using the SET_VAR HINT syntax, such as:

- SELECT /*+ SET_VAR (sort_buffer_size = 16M) */ name FROM people ORDER BY name;

- INSERT /*+ SET_VAR (foreign_key_checks=OFF) */ INTO t2 VALUES (2);

(This feature is super practical. You can modify it directly in SQL without having to write another SQL and worry about affecting others)

3. The query optimizer now supports storing the histogram of each column's statistical results in the column_statistics data dictionary to facilitate the construction of the execution plan. With this histogram, we can compare the column with the constant.

4. A new flag, use_invisible_indexes, is added to the query optimizer to control whether invisible indexes are considered when constructing the execution plan.

5. InnoDB adds a backup lock. Previously, if DML was performed simultaneously during online hot backup of InnoDB tables, the snapshot of the InnoDB file might be inconsistent. With this backup lock, you don't have to worry about this. The backup lock usage is LOCK INSTANCE FOR BACKUP, UNLOCK INSTANCE, which requires the BACKUP_ADMIN permission.

6. InnoDB now supports atomicity of table DDL, which means that DDL on InnoDB tables can also achieve transaction integrity, either rollback if failed or commit successfully, so there will be no problem of partial success of DDL. In addition, it also supports crash-safe feature (this feature is great)

7. If Group Replication (GR) is initialized late, that is, in single-primary mode, data can be written to the secondary node through the asynchronous replication channel, which is not allowed when the Group Replication plugin is initialized normally (Bug #26314756, this is an internal BUG ID, we can't see it, don't bother. But there is also the almighty github, where you can also see the relevant description, see: https://github.com/mysql/mysql-server/commit/acbf1d13ecd1d89557f8ca62116f06e8633dc90d)

8. Several views such as FILES, PARTITIONS, REFERENTIAL_CONSTRAINTS in the system library INFORMATION_SCHEMA have been re-implemented (this is not too specific, it may be related to the fact that all DDLs are placed in InnoDB, and FRM files are no longer used to store DDL information)

9. Due to the modification of foreign key constraint lock function, the column renaming function on the parent table involving foreign key constraints will be temporarily disabled for a period of time (it is estimated that it will be able to be used normally after a few minor versions)

10. New renaming syntax for InnoDB general tablespace: ALTER TABLESPACE ... RENAME TO (As a MySQL DBA, it seems that few people use general tablespaces. Maybe they are more used to it after switching from Oracle DBA)

11. On the slave node of MySQL replication, the default value of the log_slave_updates option is changed to ON (this is also quite practical, and it is convenient to use the slave directly as a relay node)

12. The global scope of the option sql_log_bin has been changed to the session scope, that is, changing this option only affects this session and no longer affects the global scope (this option is generally used at the session level)

13. The default value of option max_allowed_packet is increased from 4M to 64M (this seems more realistic)

14. The default value of the option event_scheduler is changed from OFF to ON, so that the event scheduler function is enabled by default (I think the event function is very good, but it seems that few people use events)

15. The default value of option max_error_count has been increased from 64 to 1024 (I don't think so)

16. The last one, the utf8mb4 character set adds a Russian checksum (two new collations sets: utf8mb4_ru_0900_ai_ci and utf8mb4_ru_0900_as_cs)

Let’s look forward to the release of 8.0.3!

You may also be interested in:
  • MySQL Community Server 8.0.12 installation and configuration method graphic tutorial
  • MySQL Community Server 8.0.11 installation and configuration method graphic tutorial
  • Ubuntu Server 16.04 MySQL 8.0 installation and configuration graphic tutorial
  • MySQL 8.0.2 offline installation and configuration method graphic tutorial
  • MySQL 8.0.12 installation and configuration method graphic tutorial
  • mysql installer community 8.0.12.0 installation graphic tutorial
  • MySQL 8.0.12 decompression version installation tutorial
  • MySQL 8.0.12 Quick Installation Tutorial
  • MySQL 8.0.12 installation configuration method and password change
  • MySQL Server 8.0.3 Installation and Configuration Methods Graphic Tutorial

<<:  How to Fix File System Errors in Linux Using ‘fsck’

>>:  Encapsulate a simplest ErrorBoundary component to handle react exceptions

Recommend

Comprehensive understanding of HTML basic structure

Introduction to HTML HyperText Markup Language: H...

JavaScript BOM Explained

Table of contents 1. BOM Introduction 1. JavaScri...

Vue Element front-end application development: Use of API Store View in Vuex

Table of contents Overview 1. Separation of front...

Detailed Introduction to Nginx Installation and Configuration Rules

Table of contents 1. Installation and operation o...

JS Object constructor Object.freeze

Table of contents Overview Example 1) Freeze Obje...

UTF-8 and GB2312 web encoding

Recently, many students have asked me about web p...

Solution to slow network request in docker container

Several problems were discovered during the use o...

Linux common basic commands and usage

This article uses examples to illustrate common b...

How to deploy redis in linux environment and install it in docker

Installation Steps 1. Install Redis Download the ...

How to isolate users in docker containers

In the previous article "Understanding UID a...

Analysis of MySQL user management operation examples

This article describes the MySQL user management ...

MySQL configuration SSL master-slave replication

MySQL5.6 How to create SSL files Official documen...

Detailed explanation of js's event loop event queue in the browser

Table of contents Preface Understanding a stack a...

Introduction to container data volumes in Docker

Table of contents Docker container data volume Us...