Plugins and Components
Certain MySQL Server plugins and components are loaded in the DB system automatically. You do not need to install any of these plugins.
- MySQL Enterprise Thread Pool: The thread pool plugin provides an alternative thread-handling model designed to reduce overhead and improve performance. See MySQL Enterprise Thread Pool.
MySQL HeatWave DB system logs the number of connections managed by the thread pool plugin. A message is written to the error log every two-minute interval. The interval is reduced to 12 seconds in the first three minutes after the DB system started successfully. The connections are grouped into non-admin users (users without the
TP_CONNECTION_ADMINprivilege) and admin users (users with theTP_CONNECTION_ADMINprivilege). For each group, the following information is provided:- Managed: Sessions that are currently opened at the end of the logging interval and handled by the thread groups.
- Delta: Change in number of managed sessions during the last logging interval.
- Active: Sessions that have been active (executing a query) some time during the last interval.
- Opened: Sessions that have been opened during the last interval.
- Closed: Sessions that have been closed during the last interval.
- Added: Sessions that have been opened during the last interval, and which are not closed yet.
- Dropped: Sessions that have been opened in a previous interval and closed during the last interval.
- In: Number of incoming connection requests in the last interval.
- Queue: Number of requests currently in the queues between the server and the thread pool.
- Auth: Number of requests currently being authenticated.
- Err: Number of requests aborted in the last interval before being handed over to the thread pool.
- Ok: Number of requests successfully handled and handed over to the thread pool as new managed sessions in the last interval.
This is a sample row of the output in MySQL 9.1.0:SELECT * FROM performance_schema.error_log WHERE DATA LIKE 'TP conn%'\G
In the sample output, 23 connection requests were received during the last interval. There are still 2 requests in the queue and five requests are being authenticated. It has handled 20 connection requests where 18 have been handed over to he thread pool groups and 2 have failed. TheLOGGED: 2024-10-28 05:41:33.402235 THREAD_ID: 0 PRIO: Note ERROR_CODE: MY-015507 SUBSYSTEM: Server DATA: TP conn (init: in, queue, auth, err, ok. port: managed(delta), active, opened, closed, added, dropped.): Init: 23, 2, 5, 2, 18. Usr: 6(+1), 6, 17, 15, 2, 1. Adm: 2(+1), 2, 1, 0, 1, 0.usrgroup shows that there is 1 user session more than the previous interval giving a total of 6 user sessions at the end of this interval. All of the 6 sessions have executed one or more queries in the interval. There are 17 new sessions being opened and 15 sessions being closed during this interval. At the end of the interval, 2 of the newly opened sessions have not been closed while 1 sessions from the previous interval have been closed.For a thread pool withthread_pool_size=N, there will beNthread groups over which the non-admin users' sessions will be assigned in a round robin fashion, while there is a single thread group to which the admin user's sessions will be assigned. The thread pool will haveN+1thread groups.Note
It is recommended to create a separate user account granted only with the required privileges for your application instead of using the administrator account for all purposes. See CREATE USER Statement and GRANT Statement. - MySQL Enterprise Audit plugin: The audit plugin enables MySQL
Server to produce a log file containing an audit record of server activity. The log
contents include when clients connect and disconnect, and what actions they perform
while connected, such as which databases and tables they access. You can add
statistics for the time and size of each query to detect outliers. You cannot change
the default values of the plugin.
audit_log_buffer_size: 10485760audit_log_compression: GZIPaudit_log_database: mysql_auditaudit_log_file: /db/audit/audit.logaudit_log_flush_interval_seconds: 60audit_log_format: JSONaudit_log_format_unix_timestamp: ONaudit_log_max_size: 5368709120audit_log_prune_seconds: 604800audit_log_rotate_on_size: 52428800
mysql_auditschema. See Default MySQL Privileges, and MySQL Enterprise Audit Plugin. - The
connection_controlplugin: MySQL Server includes a plugin library that enables administrators to introduce an increasing delay in server response to connection attempts after a configurable number of consecutive failed attempts. The default value of the variables of theconnection-controlplugin are as follows, and you cannot change the default values:connection_control_failed_connections_threshold: 3connection_control_max_connection_delay: 10000connection_control_min_connection_delay: 1000
- The
validate_passwordcomponent: The component serves to improve security by requiring account passwords and enabling strength testing of potential passwords. The default value of the variables of thevalidate_passwordcomponent are as follows, and you cannot change the default values:validate_password.check_user_name: ONvalidate_password.length: 8validate_password.mixed_case_count: 1validate_password.number_count: 1validate_password.policy: MEDIUMvalidate_password.special_char_count: 1
- Data masking: The general-purpose masking functions mask arbitrary strings, special-purpose masking functions mask specific types of values, and generate functions generate random values. See Data Masking.