Percona Server for MySQL 8.0.34-26 (2023-09-26)¶
Get started with Quickstart Guide for Percona Server for MySQL.
Percona Server for MySQL 8.0.34-26 includes all the features and bug fixes available in the MySQL 8.0.34 Community Edition in addition to enterprise-grade features developed by Percona.
Percona Server for MySQL is a freely available, fully compatible, enhanced, and open source drop-in replacement for any MySQL database. It provides superior and optimized performance, greater scalability, and availability, enhanced backups, increased visibility and instrumentation.
Percona Server for MySQL is trusted by thousands of enterprises to provide better performance and concurrency for their most demanding workloads.
Release highlights¶
-
Percona Server for MySQL 8.0.34-26 implements the Audit Log Filter plugin. The plugin provides a set of features that you can use to monitor user activity on the selected server:
- Filter audit events based on user/connection, accessed database/table name, query content, etc. Filtering rules are in JSON format.
- Dynamically enable/disable the auditing. A server restart is not required to add or adjust existing filtering rules.
- Use filtering rules to remove sensitive data from SQL statements written to log files.
- Use filtering rules to block events matching specific criteria (for example, database/table name, user name).
- Configure filtering rules to write to audit log extra information provided via Query Attributes with each query.
- Encrypt the audit log files using AES-256 encryption. The plugin keeps a set of encryption passwords used to encrypt existing log files. External applications may use these passwords to access encrypted logs.
- Compress audit log files to reduce the storage space used by log files.
- Configure an automatic rotation and removal of log files. You can remove outdated log files based either on storage space used by log files or the age of log files.
-
Percona Server for MySQL 8.0.34-26 implements the data masking component, an improved and enchanced version of data masking plugin. The data masking component adds the following features:
- Support for multibyte character sets for random generation/masking functions
- New masking functions for IBAN, UUID, Canada SIN, and UK NIN
- New random generation functions for BAN, UUID, Canada SIN, and UK NIN
- The ability to store substitution dictionaries in the database
- The dynamic privilege
MASKING_DICTIONARIES_ADMIN
that is required for dictionary manipulation operations - The automated loadable-function registration/unregistration during component installation/uninstallation
This merge fixes the following issue:
- PS-8770: The
INSTANT DDL
caused Percona Server 8.0.32 exit after upgrading from 5.7.41.
Improvements and bug fixes introduced by Oracle for MySQL 8.0.34 and included in Percona Server for MySQL are the following:
- MySQL 8.0.33 added support for the
audit_log plugin
to choose which database to use to store JSON filter tables. Now, you can specify an alternative to the default system database, mysql, when running the plugin installation script. For example:
$> mysql -u root -D database_name -p < audit_log_filter_linux_install.sql
-
Adds
mysql_binlog_open()
,mysql_binlog_fetch()
, andmysql_binlog_close()
functions to the libmysqlclient.so shared library. These functions enable developers to access a MySQL server binary log. -
For platforms on which OpenSSL libraries are bundled, the linked OpenSSL library for MySQL Server is updated from OpenSSL 1.1.1 to OpenSSL 3.0.9.
Deprecations and removals¶
-
The
mysqlpump
client utility program is deprecated. The use of this program causes a warning. Themysqlpump
client may be removed in future releases. The applications that depend onmysqlpump
will usemysqldump
orMySQL Shell Utilities
. -
The
sync_relay_log_info
server system variable is deprecated. Using this variable or its equivalent startup--sync-relay-log-info
option causes a warning. This variable may be removed in future releases. The applications that use this variable should be rewritten not to depend on it before the variable is removed. -
The
binlog_format
server system variable is deprecated and may be removed in future releases. The functionality associated with this variable, which changes the binary logging format, is also deprecated.When
binlog_format
is removed, MySQL server supports only row-based binary logging. Thus, new installations should use only row-based binary logging. Migrate the existing installations that use the statement-based or mixed logging format to the row-based format.The system variables
log_bin_trust_function_creators
andlog_statements_unsafe_for_binlog
used in the context of statement-based logging are also deprecated and may be removed in future releases.Setting or selecting the values of deprecated variables causes a warning.
-
The
mysql_native_password
authentication plugin is deprecated and may be removed in future releases. UsingCREATE USER
,ALTER USER
, andSET PASSWORD
operations, insert a deprecation warning into the server error log if an account attempts to authenticate usingmysql_native_password
as an authentication method. -
The legacy filtering mode is deprecated. New deprecation warnings are emitted for legacy audit log filtering system variables. The deprecated variables are either read-only or dynamic.
The
audit_log_policy
read-only variable writes a warning message to the MySQL server error log during server startup when its value is set to any value exceptALL
(default value).The
audit_log_include_accounts
,audit_log_exclude_accounts
,audit_log_statement_policy
, andaudit_log_connection_policy
are dynamic variables. Dynamic variables print a warning message based on usage:-
Passing in a
non-NULL
value toaudit_log_include_accounts
oraudit_log_exclude_accounts
during MySQL server startup writes a warning message to the server error log. -
Passing in a
non-default
value toaudit_log_statement_policy
oraudit_log_connection_policy
during MySQL server startup now writes a warning message to the server error log.ALL
is the default value for both variables. -
Changing an existing value using
SET
syntax during a MySQL client session writes a warning message to the client log. -
Persisting a variable using
SET PERSIST
syntax during a MySQL client session writes a warning message to the client log.
-
-
The
keyring_file
andkeyring_encrypted_file
plugins are deprecated. These keyring plugins are replaced with thecomponent_keyring_file
andcomponent_keyring_encrypted_file
components.
Find the full list of bug fixes and changes in the MySQL 8.0.34 Release Notes.
New features¶
-
PS-8848: Increases verbosity of the connection control plugin.
-
PS-8728: Adds the data masking component to align Percona Data Masking functionality with Oracle 8.0.33.
-
PS-8042: Implements the Audit Log Filter plugin.
The following features and improvements were added by imlementing the Audit Log Filter plugin feature:
-
PS-3874: Adds options to the Audit Plugin to allow multiple configurations.
-
PS-5164: Adds
Rows_sent
andRows_examined
fields to the Audit Log plugin. -
PS-5814: Allows the audit log to be rotated when MySQL starts.
-
PS-236: Prepared statements are now logged in the audit plugin.
-
PS-2480: Adds diagnostics when audit log does synchronous writes in ASYNC mode.
-
PS-7331: Sets the default value of
audit_log_rotations
options to rotate. -
PS-5945: Adds the MySQL server host name to
audit_log
details when writing to the SYSLOG.
Improvements¶
-
PS-8624: Exposes the number of TABLE objects with triggers in the Table Cache.
-
PS-8742: Adds the
audit_log_filter_database
system variable. -
PS-3942: Adds the
audit_log
MTR test to make surePING_CMD
has correctcommand_class
.
Bug fixes¶
-
PS-8504: Setting a large value of
audit_log_filter_buffer_size
caused the server exit. -
PS-8772: The instance was completely stalled when using
INSERT (...) SELECT
. -
PS-8797: The audit log plugin installation caused the server exit.
-
PS-8810: The
FEDERATED
update on table could fail without notifications when the table containedDOUBLE
columns. -
PS-8869: The semi-sync master waited for ack when semi-sync replica was down and when was replaced with async.
-
PS-8871: The RESOURCE GROUP hint failed when it was used within a prepared statement.
-
PS-8877: The server exited when selecting from
performance_schema.innodb_redo_log_files
. -
PS-8785: The metrics were not incremented for the 1st iteration in
buf_LRU_free_from_common_LRU_list
. -
PS-8907: When sending a SIGTERM signal to MySQL with connections from the x plugin, it terminated MySQL instead of shutting it down.
-
PS-8882: Performing
CREATE TABLE SELECT
was unsuccessful if you ran it when the Data-dictionary Table object Cache was full. The issue occurred after runningRENAME TABLES
, which renamed a number of tables that was more significant than the Data-dictionary Table object Cache capacity (equal to--max_connections
). -
PS-8836: An UPDATE failed after an INSERT. When the same UPDATE was retried, it would succeed.
-
PS-8592: XCom connection stalled forever in the
read()
syscall over the network. This issue prevented nodes from re-joining the cluster.
The following bugs were fixed by imlementing the Audit Log Filter plugin:
-
PS-5784: The default
audit_log_format
parameter value for MySQL 8 was NEW but the default value for the Percona Server for MySQL Audit log plugin was OLD. -
PS-6863: The
audit_log
plugin did not handle the application messages from theaudit_api_message_emit
component.
Packaging notes¶
Percona Server for MySQL 8.0.34-26 supports Debian 12.
Useful links¶
Install Percona Server for MySQL 8.0
Upgrade Percona Server for MySQL from 5.7 to 8.0
The Percona Server for MySQL GitHub location
Download product binaries, packages, and tarballs at Percona Product Downloads
Contribute to the documentation
For training, contact Percona Training - Start learning now
Get expert help¶
If you need assistance, visit the community forum for comprehensive and free database knowledge, or contact our Percona Database Experts for professional support and services.