Proxies & Routing

15.6.1 Why aren't ProxySQL users syncing automatically?

Problem: Database users not appearing in ProxySQL configuration.

Cause: User bootstrap feature not enabled or configured incorrectly.

Configuration parameter:

proxysql-bootstrap-users = true

Behavior when enabled:

  • replication-manager discovers users from database
  • Automatically pushes users to ProxySQL
  • Syncs on topology changes

Manual mode (proxysql-bootstrap-users = false):

  • You manage ProxySQL users manually
  • replication-manager doesn't modify user configuration
  • More control, more operational overhead

Troubleshooting:

  • Verify ProxySQL admin credentials configured correctly
  • Check proxysql-servers parameter points to admin interface
  • Review ProxySQL logs for connection errors

Reference: /pages/05.configuration/06.routing/01.proxysql/docs.md


15.6.2 What's the difference between ProxySQL bootstrap-users and manual configuration?

Bootstrap mode (proxysql-bootstrap-users = true):

  • replication-manager discovers database users automatically
  • Pushes users to ProxySQL configuration
  • Updates users on topology changes
  • Simplifies user management
  • Good for dynamic environments

Manual mode (proxysql-bootstrap-users = false):

  • You configure ProxySQL users yourself
  • replication-manager only manages host groups and routing
  • Full control over user attributes
  • Prevents accidental user changes
  • Better for static, audited environments

Recommendation:

  • Use bootstrap for development/testing
  • Use manual for production with strict change control

Reference: /pages/05.configuration/06.routing/01.proxysql/docs.md


15.6.3 Why does MaxScale have a monitoring delay?

Problem: MaxScale's internal monitor has built-in delays before detecting topology changes.

Cause: MaxScale uses polling intervals to detect master failures and slave status changes, typically 1-2 seconds.

Impact during failover:

  • MaxScale may route traffic to failed master briefly
  • Delay between replication-manager promotion and MaxScale awareness
  • Client connection errors during transition

Solution: MaxScale integration with shortcutting:

replication-manager can update MaxScale directly via its API, bypassing monitor delays.

Configuration:

maxscale-servers = "127.0.0.1:3306"
maxscale-write-port = 3306
maxscale-read-port = 3307

Benefit: Near-instant routing updates during switchover/failover.

Reference: /pages/05.configuration/06.routing/02.maxscale/docs.md


15.6.4 Which proxy should I use?

Decision matrix:

HAProxy:

  • Layer 4 TCP routing
  • Very fast, low overhead
  • No query inspection
  • No connection pooling
  • Best for: Simple routing, high performance

ProxySQL:

  • Layer 7 MySQL protocol
  • Query caching and rewriting
  • Connection pooling
  • Query routing based on patterns
  • Best for: Complex routing, read/write split, query optimization

MaxScale:

  • Layer 7 MySQL protocol
  • Advanced routing rules
  • Query firewall
  • Connection pooling
  • Best for: Enterprise features, fine-grained control

Consul:

  • Service discovery
  • DNS-based routing
  • Application-level failover
  • Best for: Microservices, dynamic environments

Recommendation: Start with HAProxy for simplicity, move to ProxySQL for advanced features.

Reference: Configuration documentation for each proxy type