MySQL 8.1 and MySQL 8.0.34 officially released

Recently, the topic of quarreling in the database field:
PG vs MySQL, who is the number one in the world?
 

Leave a message in the comment area: https://www.oschina.net/comment/news/249930

Next week, each of the two camps will draw an idea to send an OSC T-shirt.

MySQL 8.1 and MySQL 8.0.34 are now officially released. From then on, MySQL will start the stage of simultaneous release of innovative version and stable version. MySQL 8.1 is the first innovative version of MySQL, which mainly adds the following functions:
  • Capturing EXPLAIN FORMAT=JSON output, for  EXPLAIN FORMAT=JSON added  INTO option, can store the output in JSON format in a user variable.

  • Retain client comments, MySQL8.1 retains the comments of the mysql client, if you need to use the previous behavior, you need to use the --skip-comments option

  • MySQL Replication changes SOURCE_RETRY_COUNT, and CHANGE REPLICATION SOURCE TO the default value of SOURCE_RETRY_COUNT in the statement is changed to 10, which means, with this option and the default value of SOURCE_CONNECT_RETRY(60), the replica waits 60 seconds between reconnection attempts, and tries to reconnect at this rate for 10 minutes before timing out and failing over.

  • group_replication_set_as_primary() and DDL statements , before selecting a new primary node, the group_replication_set_as_primary() function needs to wait for the DDL statements in progress before all transactions are completed.

  • MySQL version numbers used in version-specific comments now support major versions consisting of one or two digits, which means that entire versions can now be five or six digits long.

  • Enhanced logging of shutdown process With the addition of startup and shutdown messages for the MySQL server, plugins, and components, enhanced logging of the shutdown process, additional features should help with troubleshooting and debugging issues, especially if the server is taking a long time to shutdown.

  • Added SHOW PARSE_TREE语句,this statement to display the json format parse tree of the select statement. Use this statement only for testing and development, not for production. It is only used in debug builds

  • The tls-certificates-enforsed-validation system variable has been added to allow DBAs to enforce certificate validation at server startup or when certificates are reloaded at runtime using the ALTER INSTANCE RELOAD TLS statement. When enforcement is enabled, server calls will be stopped at startup when an invalid certificate is found, preventing invalid certificates from being loaded at runtime, and issuing a warning.

  • Added some group replication plugin-specific status variables that improve diagnosis and troubleshooting of network instability, providing statistics on network usage, control messages, and data messages for each group member.

  • Added server system variables to control how long MySQL accounts connecting to a MySQL server using LDAP pluggable authentication must wait if the LDAP server is down or unresponsive. For the following simple and sasl-based LDAP authentication variants, the new default timeout is 30 seconds, and the connection and response timeouts are only configurable via system variables on Linux platforms. See Setting Timeouts for LDAP Pluggable Authentication for more information.

In addition to the new functions, the following adjustments have been made, which are basically consistent with MySQL8.0.34.

In terms of user management, a system variable "validate_password.changed_characters_percentage" has been added for password verification. This variable is used to configure the number of characters a user must modify when changing a password, calculated as a percentage of the characters in the current password. Assuming the value of this variable is set to 50, at least half of the characters in the new password need to be modified.

In terms of MySQL auditing, a new function has been added. When installing the audit plug-in, you can specify the database where the user stores the log filter conditions. For example,

$> mysql -u root -D database_name -p < audit_log_filter_linux_install.sql

In addition, MySQL Audit adds the new function of using the scheduler component to configure and execute recurring tasks and refresh the memory cache.

In terms of binary logs, new functions mysql_binlog_open(), mysql_binlog_fetch(), and mysql_binlog_close() have been added to the libmysqlclient.so library, allowing developers to access the binary logs of the MySQL server.

For compatibility, improved MSVC_CPPCHECK support for Windows, and checks for similar MSVC warnings in "maintenance" mode.

In terms of Windows compilation, the support of WIN_DEBUG_NO_INLINE=1 has been improved, and the usage will exceed the limit of 65535 objects in the library.

In addition, the versions of robin-hood-hashing, ICU files and ZSTD have been upgraded.

Since MySQL provides mysql shell and mysqldump for backup, mysqlpump will be downgraded and there will be a warning prompt when using it. This product will be deprecated in the future.

The server variables "sync_relay_log_info", "binlog_format" used for replication are downgraded in this release and will be deprecated in the future. Therefore, the "log_bin_trust_function_creators" and "log_statements_unsafe_for_binlog" associated with it will also be downgraded and eventually deprecated. It should be noted that after "binlog_format" is deprecated, MySQL's binary log format only supports "row-based".

The server variable "group_replication_recovery_complete_at" used for group replication, and the "mysql_native_password" authentication plugin are downgraded and will be deprecated in the future. 

In addition, the traditional filtering mode including audit logs, the mysql_ssl_rsa_setup program, and the keyring file plug-in are also downgraded and will be deprecated in the future.

Users should be aware that the previous version-specific comments "/*!80034KEY_BLOCK_SIZE=1024*/ or /*!80034 KEY_BLOCK_SIZE=1024*/" do not consider spaces after the version number, but this behavior may change in future versions. Therefore, starting from this version, please add a space after the version number to use,

In terms of SQL syntax, this version supports using CURRENT_USER(), SESSION_USER(), USER(), and SYSTEM_USER() as the default value of Varchar or TEXT type fields in the table creation statement or table change statement.

In addition to the changes and deprecations mentioned above, MySQL 8.1 and MySQL 8.0.34 versions have made a lot of bug fixes, making MySQ L8.0 into a stable state. For detailed changes, please visit  the MySQL official website . 

Manuscript source: https://mp.weixin.qq.com/s/aOEpKY35LKPyi9qOkP2vwA

Guess you like

Origin www.oschina.net/news/249930/mysql-8-1-and-8-0-34-released