Official ProxySQL Documentation
Quick Guides
The quick guides are designed to get you up and running quickly with ProxySQL. These guides are aimed at helping someone new to ProxySQL in understanding the basic configuration concepts.
The initial guides deal with installing ProxySQL and performing the initial configuration. Guides detailing the two main use cases for ProxySQL namely Read/Write Split and Sharding are also avaiable here.
Reference Manual
The Basics
Before delving into the ProxySQL configuration specifics it is crucial to understand the Multi Layer Configuration System and how ProxySQL’s supported backend servers are configured and monitored in ProxySQL.
- Multi Layer Configuration System
- Configuration file
- Startup options
- Backend Server Configuration
- MySQL Backend Server Monitoring
- PostgreSQL Backend Server Monitoring
ProxySQL’s general behavior is controlled by the Global Variables. ProxySQL Admin Variables are controlled separately to MySQL traffic and monitoring variables.
Security
All ProxySQL security functions are configurable via the ProxySQL Admin interface and are documented in the pages found here.
- User configuration
- Authentication methods
- SSL configuration
- SPIFFE configuration
- Audit Logging
- Firewall Whitelisting
Features
Here you will find configuration details for specific ProxySQL features and interesting information related to the inner workings of ProxySQL. Topics cover various design aspects that are of interest to more advanced end-users and project contributors.
- Connection Multiplexing
- ProxySQL Cluster
- Query Cache
- Query Logging
- Query Rewrite
- Query Annotations
- Prepared Statement Caching
- Mirroring
- Scheduler
- HTTP Web UI Statistic Graphs
- ProxySQL REST API
- ProxySQL Threads
- Thread Watchdog
- Client Error Limit
- MySQL BinLog Reader
- DNS Cache
- Prometheus Exporter
- ProxySQL Bootstrap Mode
- ProxySQL Internal Session
- Coredumper Support
ProxySQL Admin
The ProxySQL Admin DB is configurable via a standard MySQL client and is the heart of ProxySQL’s configuration system allowing dynamic runtime reconfiguration of ProxySQL administrative and operational functions.
Ensure that you fully understand how the ProxySQL Configuration CLI works before taking a deep dive into what features are controlled in the various configuration tables.
- main (runtime)
- mysql_users
- mysql_servers
- mysql_replication_hostgroups
- mysql_galera_hostgroups
- mysql_group_replication_hostgroups
- mysql_hostgroup_attributes
- mysql_query_rules
- mysql_query_rules_fast_routing
- global_variables
- proxysql_servers
- scheduler
- mysql_collations
- restapi_routes
- pgsql_users
- pgsql_servers
- pgsql_replication_hostgroups
- pgsql_query_rules
- pgsql_query_rules_fast_routing
- pgsql_hostgroup_attributes
- runtime_xxx tables
- stats (statistics)
- mysql_global_variables
- stats_mysql_memory_metrics
- stats_mysql_commands_counters
- stats_mysql_connection_pool
- stats_mysql_global
- stats_mysql_gtid_executed
- stats_mysql_prepared_statements_info
- stats_mysql_processlist
- stats_mysql_query_digest
- stats_mysql_query_rules
- stats_mysql_users
- stats_proxysql_servers_checksums
- stats_proxysql_servers_metrics
- stats (history)