ProxySQL in Percona MySQL operator

Hi team, GitHub - percona/percona-server-mysql-operator: Percona Operator for MySQL, do we have any limitation in supporting ProxySQL proxy?

I see for PXC, we do have HAProxy and ProxySQL, but for MySQL operator we only have MySQL router and HAProxy, I wanted to understand the reasons for this.

@matthewb , @daniil.bazhenov Any pointers/references here please?

ProxySQL should be supported:

@matthewb

Sorry, I’ve seen the custom resource yaml percona-server-mysql-operator/deploy/cr.yaml at e6fa86c47ed3599f64cad11b438c5aebab43a681 · percona/percona-server-mysql-operator · GitHub

and even in the documentation Design and architecture - Percona Operator for MySQL

HAProxy  - a load balancing and proxy service compatible with both asynchronous replication  and group replication  between MySQL instances,

MySQL Router  - a proxy solution which can be used instead of HAProxy when group replication  between MySQL instances is turned on,

Looks like it’s not added into CRD

Yes, as of now, Percona operator for MySQL-based (Tech Preview), only supports the HaProxy and MySQL Router. Please note that the MySQL-based operator is in tech preview, and it is not recommended for production use yet.

If you need it for production use, then use the Percona Operator for MySQL based on PXC, which supports HaProxy and ProxySQL.

@Abhinav_Gupta Firstly, Thanks for the reply

We are already using ProxySQL and MySQL as a single instance, for HA, I was looking into Group replication in single primary mode so that it works same as single instance but with High Availability which is also mentioned in https://www.mysql.com/why-mysql/white-papers/mysql-reference-architectures-for-high-availability/

Since PXC uses Galera replication, I’m not fully sure whether the transition is worth it.

May be it’s simpler to explore to run it with HAProxy

But my main query is that, is there any limitation in running Group replication with ProxySQL and hence percona doesn’t support it or just that it’s not implemented yet.

Also do we have timeline for MySQL Percona operator to be in 1.0 for Production use?

This would be the same with PXC.

It’s not really a “transition” as PXC is a drop-in replacement. Replace your single instance with PXC, then add node 2, and node 3. Nodes will self-initialize (unlike Group Replication).

This, yes. HAProxy is far simpler to implement within the operator due to its limited functionality being only a layer 4 port router. Implementing ProxySQL, as a layer 7 protocol router, takes a bit more to get working correctly. As stated, we full support ProxySQL within our PXC Operator so we know it works. It’s just a matter of time, and community desire, to implement ProxySQL within our MySQL Operator.

The best HA solution for MySQL is PXC + ProxySQL. ProxySQL is PXC-aware and takes actions based on any PXC changes.

Thank you @matthewb for the response, I’ll try PXC and get back in case of issues