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.
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_ADMIN
privilege) and admin users (users with theTP_CONNECTION_ADMIN
privilege). 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.
usr
group 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 beN
thread 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 in fact hasN+1
thread 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: 10485760
audit_log_compression: GZIP
audit_log_database: mysql_audit
audit_log_file: /db/audit/audit.log
audit_log_flush_interval_seconds: 60
audit_log_format: JSON
audit_log_format_unix_timestamp: ON
audit_log_max_size: 5368709120
audit_log_prune_seconds: 604800
audit_log_rotate_on_size: 52428800
mysql_audit
schema. See Default MySQL Privileges, and MySQL Enterprise Audit Plugin. - The
connection_control
plugin: 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-control
plugin are as follows, and you cannot change the default values:connection_control_failed_connections_threshold : 3
connection_control_max_connection_delay: 10000
connection_control_min_connection_delay:1000
- The
validate_password
component: 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_password
component are as follows, and you cannot change the default values:validate_password.check_user_name: ON
validate_password.length: 8
validate_password.mixed_case_count:1
validate_password.number_count:1
validate_password.policy: MEDIUM
validate_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.