How percona/percona-server works
Percona Server for MySQL is a MySQL-compatible database server with client utilities and additional observability, security, and component capabilities. A typical user submits SQL through a client; the server processes it and exposes operational data through Performance Schema. The supplied tree and excerpts cover selected clients and subsystems rather than the server’s full query/storage path, so that central path is intentionally not expanded. The graph also captures documented audit, keyring, and query-event capabilities; several subsystem links are omitted where wiring was not shown.
Main entry points: keyring_metadata_query_service_impl_template.h Keyring services · audit_log_filter.cc Audit filter · mysql.cc SQL client · mysqladmin.cc Admin utilities
Components 22
Client tools
- SQL client
client/mysql.cc - Admin utilities
client/mysqladmin.cc - Data utilities
client/mysqldump.cc - Binlog utility
client/mysqlbinlog.cc
Observability
- Performance Schema
storage/perfschema/pfs_engine_table.cc - Audit filter
components/audit_log_filter/audit_log_filter.cc - Audit rules
components/audit_log_filter/audit_rule_parser.cc - Audit writers
components/audit_log_filter/log_writer.cc - Query event service
include/mysql/components/services/event_tracking_query_service.h
Security components
- Keyring services
components/keyrings/common/component_helpers/include/keyring_metadata_query_service_impl_template.h - File keyring
components/keyrings/keyring_file/keyring_file.cc - Encrypted file keyring
components/keyrings/percona_keyring_encrypted_file/percona_keyring_encrypted_file.cc - KMS keyring
components/keyrings/keyring_kms/keyring_kms.cc - KMIP keyring
components/keyrings/keyring_kmip/keyring_kmip.cc - Vault keyring
components/keyrings/keyring_vault/keyring_vault.cc
Server extensions
- Data masking
components/masking_functions/src/component.cpp - JavaScript component
components/js_lang/component.cc - Binlog UDFs
components/binlog_utils_udf/binlog_utils_udf.cc - Encryption UDFs
components/encryption_udf/encryption_udf_component.cc
Server runtime
- MySQL server
- Transaction query service
sql/server_component/ongoing_transaction_query_service.cc
Other components
- Application client
Connections 23
- Application client → SQL client: submits SQL
- SQL client → MySQL server: sends queries
- Application client → Admin utilities: requests administration
- Admin utilities → MySQL server: administers
- Application client → Data utilities: requests data transfer
- Data utilities → MySQL server: queries data
- Application client → Binlog utility: requests binlog processing
- Binlog utility → MySQL server: reads binlogs
- MySQL server → Transaction query service: queries transactions
- MySQL server → Performance Schema: exposes monitoring tables
- MySQL server → Audit filter: emits audit events
- Audit filter → Audit rules: evaluates rules
- Audit filter → Audit writers: writes records
- MySQL server → Query event service: broadcasts query events
- Keyring services → File keyring: provides services
- Keyring services → Encrypted file keyring: provides services
- Keyring services → KMS keyring: provides services
- Keyring services → KMIP keyring: provides services
- Keyring services → Vault keyring: provides services
- MySQL server → Data masking: invokes functions
- MySQL server → JavaScript component: invokes component
- MySQL server → Binlog UDFs: invokes functions
- MySQL server → Encryption UDFs: invokes functions