Skip to content

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(), and mysql_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. The mysqlpump client may be removed in future releases. The applications that depend on mysqlpump will use mysqldump or MySQL 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 and log_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. Using CREATE USER, ALTER USER, and SET PASSWORD operations, insert a deprecation warning into the server error log if an account attempts to authenticate using mysql_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 except ALL (default value).

    The audit_log_include_accounts, audit_log_exclude_accounts, audit_log_statement_policy, and audit_log_connection_policy are dynamic variables. Dynamic variables print a warning message based on usage:

    • Passing in a non-NULL value to audit_log_include_accounts or audit_log_exclude_accounts during MySQL server startup writes a warning message to the server error log.

    • Passing in a non-default value to audit_log_statement_policy or audit_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 and keyring_encrypted_file plugins are deprecated. These keyring plugins are replaced with the component_keyring_file and component_keyring_encrypted_file components.

Find the full list of bug fixes and changes in the MySQL 8.0.34 Release Notes.

New features

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 and Rows_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 sure PING_CMD has correct command_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 contained DOUBLE 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 running RENAME 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 the audit_api_message_emit component.

Packaging notes

Percona Server for MySQL 8.0.34-26 supports Debian 12.

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.


Last update: 2024-04-08