On April 20, MySQL 8.0 updated version 8.0.24. In the evening, I read the release note, sorted out some improvement points and recorded them here. Later, I can download the corresponding version for testing.
1、 Connection management
1. More detailed connection information
In previous versions, if a MySQL connection does not interact with the MySQL service for a long time, it will receive an output of MySQL server has gone away without specific reason information;
The new version of MySQL server will write the reason for closing the connection to the client before the connection is closed. The client can see more detailed information to analyze why the connection is closed.
2. The connection error message contains port
This is mainly due to the change of connection error message, which adds more port information:
Before modification: ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (10061) After modification: ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1:63333'
2、 Optimizer level improvements
MySQL’s query optimizer can now optimize subqueries containing derived tables through external connections. If the subquery already has explicit grouping, MySQL will add additional grouping to the end of the existing grouping list.
Examples are as follows:
SQL： SELECT * FROM t1 WHERE (SELECT a FROM t2 WHERE t2.a=t1.a) > 0 After optimization: SELECT t1.* FROM t1 LEFT OUTER JOIN (SELECT a, COUNT(*) AS ct FROM t2 GROUP BY a) AS derived ON t1.a = derived.a WHERE derived.a > 0.
3、 Functional improvements
1、AUTOEXTEND_ The maximum size is increased from 64MB to 4GB. This option is introduced by MySQL 8.0.23. It defines the maximum capacity that InnoDB can expand when the table space is full. This parameter can be used in create table, alter table, create tablespace, alter tablespace and other grammars
2、clone_ donor_ timeout_ after_ network_ The failure clone plug-in variable defines the time when the host in the clone plug-in allows the recipient to reconnect and restart cloning after a network failure. This timeout was previously fixed at 5 minutes. The timeout can now be extended to 30 minutes to provide more time to resolve network problems.
3. When the client application uses the set names syntax now, if the character set is utf8, it will be displayed as utf8mb3 instead of utf8
In fact, this change is expected. After all, utf8mb4 has gradually replaced utf8 as the mainstream.
4. You can update the value of allowlist during Mgr operation, and add new members to the allowlist of Mgr without restarting Mgr
5. — the skip slave start parameter is used to prevent the replication relationship from starting automatically when the MySQL service is restarted. In the previous version, you can modify this parameter in my.cnf or add a parameter in the command line. Both methods inevitably log in to the host server where the MySQL server is located. In the new version of MySQL, this parameter will not be subject to this restriction, You can use the persistence configuration file set persist_ Only statement, so that modifications can be performed from any client. Instead of logging in to the host machine where the MySQL service is located.
4、 Performance schema optimization
Not much research has been done here. If you are interested, you can check it on the official website.
5、 Bug fix
On the whole, this version mainly fixes the bugs of the previous version, fixes more than 200 bugs, and does not have many updates on highly available components such as Mgr.
When it comes to bug repair, here’s another idea for selecting a small version of MySQL:
Generally, check the release note of the current MySQL version. If it is found that there are few bugs repaired in the release note of the current version, it indicates that there are few bugs in the previous version. It is more appropriate to select the previous MySQL version of the current version or the current version. The current version is preferred, because the new version may have new features;
If the current version fixes a lot of bugs, it means that there are many bugs in the previous version and it is not recommended to choose. However, the current version fixes a lot of bugs and can not guarantee stability. Therefore, it is recommended to wait and see or move forward to find an appropriate MySQL version.
The above is the details of some improvement points of MySQL release note in version 8.0.24. For more information about the improvement of MySQL release note, please pay attention to other relevant articles of developeppaer!