This website uses cookies to ensure you get the best experience. Read more in Privacy Policy.
OK
$ kubectl get operators -l engine=mysql --sort-by=.metadata.creationTimestamp

MySQL Operators on Kubernetes:
The Honest Comparison

4 Active Operators. Different Replication Models. Real Trade-offs.

Running MySQL on Kubernetes is not "just pick an operator" — your choice of operator locks you into a replication model (Galera, Group Replication, semi-sync) that's hard to change later. We compared the Percona XtraDB Cluster Operator, Percona Server for MySQL Operator, Oracle MySQL Operator, and MOCO across HA, backups, day-2 ops, and community health. No vendor paid for placement on this page.

Bitpoke (formerly Presslabs) MySQL Operator was once one of the most popular community operators, but is no longer actively developed. Vitess is a fundamentally different beast — a CNCF-incubating sharding layer for horizontal scale-out, not a drop-in MySQL operator. Both are covered separately below.
Percona Operator for MySQL (PXC) based on Percona XtraDB Cluster
Apache 2.0 Percona LLC Since 2020 Galera

The longest-running production-grade MySQL operator. Galera-based synchronous multi-primary replication via Percona XtraDB Cluster. Battle-tested with deep Percona ecosystem integration (PMM, xtrabackup).

GitHub →
Percona Operator for MySQL (PS) based on Percona Server for MySQL
Apache 2.0 Percona LLC Since 2022 GR + async

Percona's newer operator. Built on upstream MySQL replication — supports both Group Replication (single/multi-primary) and classic async replication. The strategic future direction of Percona's MySQL-on-K8s stack.

GitHub →
Oracle MySQL Operator with InnoDB Cluster
Apache 2.0 Oracle Corp Since 2021 InnoDB Cluster

Official operator from Oracle. Uses InnoDB Cluster — Group Replication plus MySQL Router and MySQL Shell for automation. The "blessed path" if you want vendor-stock MySQL behavior with zero forks.

GitHub →
MOCO by Cybozu
Apache 2.0 Cybozu, Inc. Since 2021 Semi-sync

Lean, Kubernetes-native operator built by Cybozu for their internal SaaS. Uses loss-less semi-sync replication — which Oracle has marked deprecated. Simple, focused, but its core replication model is fading from the upstream roadmap.

GitHub →
↓ Scroll to explore the comparison

The Radar View

Click an operator to highlight its strengths. Click a dimension to see the detailed breakdown below. Scores are based on documented features and real-world operational signals, not marketing claims.

High Availability Backup & Recovery Day-2 Operations Community & Governance Replication Flexibility Monitoring & Observability
Percona (PXC)
Percona (PS)
Oracle
MOCO
High Availability
PXC
10/10
PS
9/10
Oracle
9/10
MOCO
7/10
Backup & Recovery
PXC
10/10
PS
10/10
Oracle
6/10
MOCO
6/10
Day-2 Operations
PXC
8/10
PS
8/10
Oracle
7/10
MOCO
7/10
Community & Governance
PXC
7/10
PS
7/10
Oracle
5/10
MOCO
7/10
Replication Flexibility
PXC
7/10
PS
10/10
Oracle
7/10
MOCO
4/10
Monitoring & Observability
PXC
9/10
PS
9/10
Oracle
6/10
MOCO
7/10

Deep Dive: What Actually Matters

Each card unpacks a critical dimension. Click to expand and see how each operator handles it differently.

Replication Model & Topology This is the biggest decision — and it's locked in by your operator choice.
Percona (PXC)
  • Galera — synchronous multi-primary replication
  • All nodes accept writes (with conflict resolution at certify time)
  • Cluster requires odd node count (typically 3, 5, 7) to avoid split-brain
  • Cross-site replication via async streaming replicas
  • HAProxy / ProxySQL for read/write splitting (included)
Galera is mature and bulletproof for sync HA, but locks you into the Galera ecosystem with its known limitations (e.g. flow control, write-set certification).
Percona (PS)
  • Group Replication (single-primary or multi-primary mode)
  • Plus classic async replication for standby/DR clusters
  • HAProxy and MySQL Router both supported
  • Cross-region read replicas via async streaming
  • Choose your replication topology per workload
The most flexible model. GR for sync HA, async for DR. Built on upstream MySQL primitives — no forks of the replication layer.
Oracle
  • InnoDB Cluster — Group Replication + MySQL Router + Shell
  • Single-primary mode strongly recommended (multi-primary supported but discouraged)
  • MySQL Router does read/write splitting automatically
  • InnoDB ReplicaSet — alternative for async-only setups
  • Cross-cluster async replication for DR
The "blessed" upstream MySQL pattern. Consistent with Oracle's own MySQL HeatWave architecture.
MOCO
  • Loss-less semi-synchronous replication (rpl_semi_sync_slave_enabled)
  • Single primary; one or more replicas
  • Custom controller handles failover (promote replica with most applied transactions)
  • No multi-primary mode
  • No Galera, no Group Replication
Simple model that works — but semi-sync is deprecated upstream. Long-term, this approach has no roadmap in MySQL itself.
High Availability & Failover How fast does the system recover when things break?
Percona (PXC)
  • Galera = synchronous — no data loss on node failure
  • Automated failover via cluster reconfiguration (no leader to "elect")
  • HAProxy/ProxySQL routes traffic away from failed nodes
  • Auto-recovery and auto-rejoin for failed nodes
  • SST (snapshot state transfer) for re-joining nodes
Zero data loss by design. Sub-second failover for connection routing. Battle-tested for 10+ years in Galera.
Percona (PS)
  • Group Replication consensus-based failover
  • Quorum-based — handles network partitions safely
  • Orchestrator-style logic baked into operator for async replicas
  • HAProxy and MySQL Router both supported
  • Async standby clusters for DR
Production-grade GR failover (~10-20s). Plus async DR. Most flexible HA story.
Oracle
  • Group Replication for primary cluster HA
  • MySQL Router automatically updates routing on failover
  • Quorum-based, handles partition safely
  • InnoDB ClusterSet for cross-region DR
  • Limited to GR's recovery and certification semantics
Mature GR-based HA — but failover decisions live inside MySQL Shell scripts the operator orchestrates. Less visibility than Patroni-style operators.
MOCO
  • Custom failover controller — promotes the most up-to-date semi-sync replica
  • Cluster-aware, integrated with Kubernetes APIs (no external DCS)
  • Configurable replica count (1, 3, or 5 nodes)
  • Switchover and failover as CR operations
Clean K8s-native failover. The model is correct, but it's only as durable as semi-sync allows — and semi-sync's upstream future is uncertain.
Backup & Recovery Can you restore to any point in time? How complex is setup?
Percona (PXC)
  • Percona XtraBackup — the gold standard for hot MySQL backups
  • Full + binlog backups
  • Point-in-Time Recovery (PITR) via binlogs
  • S3, GCS, Azure Blob storage supported
  • Scheduled backups via CR (cron)
  • Backup encryption at rest
Industry-standard MySQL backup tooling. PITR works out of the box. Best-in-class.
Percona (PS)
  • Percona XtraBackup integrated
  • Full and incremental backups + encrypted
  • PITR via binlog archiving
  • S3, GCS, Azure Blob supported
  • Scheduled backups via CR
  • Restore to new cluster supported
Same xtrabackup pedigree as PXC. Clean CRD-driven backup model. Solid PITR story.
Oracle
  • mysqldump and mysqlsh dump utility
  • No xtrabackup — Oracle doesn't ship it
  • MySQL Enterprise Backup (MEB) available, but requires commercial license
  • Object storage (S3) supported via OCI Object Storage primarily
  • PITR via binlogs (manual setup required)
The free path uses logical dumps (mysqldump/mysqlsh) — slow for big databases. Hot physical backups require commercial MEB.
MOCO
  • mysqldump-based logical backups
  • Stored to object storage (S3, GCS)
  • Scheduled backups via BackupPolicy CR
  • PITR via binlog archiving
  • No physical/hot backup integration
Functional but mysqldump scales poorly. For multi-TB databases, this is a real limitation.
Day-2 Operations Upgrades, scaling, schema changes — the stuff that matters at 3 AM.
Percona (PXC)
  • Rolling minor upgrades via image bump
  • Major version upgrades (handled, but require careful planning)
  • Horizontal scale (add/remove Galera nodes) declaratively
  • Cluster pause/resume
  • Online DDL via gh-ost / pt-online-schema-change (manual)
  • TLS rotation supported
Solid day-2 coverage. Most operations are declarative via the CR.
Percona (PS)
  • Rolling upgrades for minor versions
  • Horizontal scaling of GR cluster and async replicas
  • Switchover via CR action
  • Cluster pause/resume
  • Online schema change tooling supported externally
  • TLS rotation supported
Equivalent day-2 capabilities to PXC, with more flexibility around replica scaling.
Oracle
  • Rolling upgrades via MySQL Shell automation
  • Scale-out via adding GR members (declarative)
  • InnoDB Cluster lifecycle managed via MySQL Shell scripts
  • Limited backup lifecycle CRDs
  • Read replica scaling via Router configuration
Works well within the InnoDB Cluster model. Less flexible if you want to deviate from the blessed path.
MOCO
  • Rolling upgrades for minor versions
  • Switchover and failover as MySQLCluster operations
  • Replication user / clone-source automation
  • Volume expansion supported
  • No backup encryption / PITR UI
Lean and predictable. Does what it does well, but doesn't try to be a full lifecycle platform.
Monitoring & Observability Out-of-the-box metrics, query analytics, dashboards — or bring-your-own?
Percona (PXC)
  • Percona Monitoring and Management (PMM) integration
  • Query Analytics (QAN) — per-query insights
  • Pre-built Grafana dashboards for MySQL and Galera
  • Prometheus mysqld_exporter sidecar
  • Pre-built advisors for MySQL tuning
PMM is a complete monitoring solution. Query Analytics alone is worth the integration.
Percona (PS)
  • PMM integration (same as PXC)
  • Query Analytics (QAN)
  • Pre-built Grafana dashboards for GR and async replication
  • Prometheus mysqld_exporter sidecar
  • Replication lag monitoring built-in
PMM works equally well here. Most batteries-included observability of the four operators.
Oracle
  • No built-in monitoring stack
  • Prometheus mysqld_exporter can be added manually
  • MySQL Enterprise Monitor — available with commercial license
  • Performance Schema enabled by default
  • No pre-built dashboards shipped
Bring your own monitoring stack. Or pay for MySQL Enterprise. Or use the OCI version.
MOCO
  • Built-in Prometheus metrics endpoint on operator + MySQL pods
  • mysqld_exporter included as sidecar
  • Custom metrics on cluster state, replication lag, errors
  • No bundled dashboards
  • Designed to plug into existing Prometheus/Grafana
Clean, standard approach — metrics-first, no vendor lock-in. You bring dashboards.
Security & Compliance TLS, encryption at rest, RBAC, audit logging — the non-negotiables.
Percona (PXC)
  • TLS everywhere (client, replication, SST/IST)
  • cert-manager integration
  • Backup encryption (AES-256)
  • LDAP authentication via Percona PAM plugin
  • Percona-certified container images with SBOMs
  • Private registry support (air-gapped)
Percona (PS)
  • TLS everywhere (client, replication)
  • cert-manager integration
  • Backup encryption
  • Percona Server auditing plugin available
  • Distroless image options
  • SBOMs and signed images
  • Private registry support (air-gapped)
Oracle
  • TLS support (configurable)
  • Native MySQL accounts and roles (no extra plugin)
  • Audit plugin requires MySQL Enterprise Edition
  • Transparent Data Encryption (TDE) requires Enterprise keyring plugins
  • Official Oracle container images
MOCO
  • TLS for client and replication
  • Secret management integration
  • Kubernetes RBAC integration for operator
  • No built-in audit logging
  • Minimal, well-audited Go codebase

The Evolution Timeline

Who shipped what, and when? Hover over milestones to see the details. The most active projects ship the most often — and the dying ones tell their own story.

2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Vitess
Bitpoke (Presslabs)
⚠️ No longer actively developed
Percona (PXC)
Oracle MySQL
MOCO
Percona (PS)

Current Development Velocity (2025-2026)

Percona (PS)
Active strategic investment, accelerating cadence
Percona (PXC)
Steady quarterly releases, mature project
MOCO
Regular small releases, single-company pace
Oracle MySQL
Tied to MySQL Server release train, Oracle-paced
Vitess
Highly active, but different category (sharding)
Bitpoke (Presslabs)
Effectively dormant

Community Health & Business Viability

An operator's features mean nothing if the project dies in 2 years. Here's what the signals look like for long-term bets — including who's behind it, how often they ship, and whether you can actually buy support.

Percona Operator for MySQL (PXC) Strong
Backing Company Percona LLC (est. 2006)
Business Model Open-source + paid support & managed services
License Apache 2.0
Release Cadence ~quarterly, very steady
GitHub Stars ~700+
Contributors Mostly Percona employees; external PRs accepted
Ecosystem PMM monitoring, xtrabackup, OpenEverest platform
Analysis

The longest-running production-grade MySQL operator. Percona is a profitable, established database company with 18+ years of history. Low risk of abandonment. Caveat: Percona is now investing more heavily in the newer PS-MySQL operator — the PXC operator continues to receive maintenance and feature releases, but the strategic direction is shifting away from Galera over the medium term.

Funded company Regular releases Enterprise support Galera roadmap unclear
Percona Operator for MySQL (PS) Strong
Backing Company Percona LLC
Business Model Open-source + paid support & managed services
License Apache 2.0
Release Cadence Regular, accelerating cadence
GitHub Stars ~200+ (newer project)
Contributors Percona engineering team
Ecosystem PMM, xtrabackup, OpenEverest, async standby clusters
Analysis

Percona's strategic bet on upstream MySQL replication primitives (Group Replication + async). Younger and less battle-tested than the PXC operator, but it's the project actively absorbing new investment. This is where Percona's future MySQL-on-K8s work is going. Strong choice if you're starting fresh in 2026 and want both GR and async-replica patterns.

Strategic investment Enterprise support Active development Less battle-tested
Oracle MySQL Operator Good
Backing Company Oracle Corporation
Business Model Free operator; commercial via MySQL Enterprise / HeatWave on OCI
License Apache 2.0
Release Cadence Aligned with MySQL Server LTS/Innovation releases
GitHub Stars ~1,000+
Contributors Oracle MySQL team; limited external contribution culture
Ecosystem MySQL Router, MySQL Shell, InnoDB Cluster
Analysis

The official Oracle operator — and "official" matters if you need vendor-blessed MySQL behavior or commercial MySQL Enterprise integration. But this is a side project relative to Oracle's primary push: MySQL HeatWave on OCI. PRs and issue triage move at Oracle pace (slow), and community contributions are minimal. Don't expect aggressive feature velocity. Don't expect it to disappear either.

Official Oracle project Won't be abandoned Slow community Oracle-pace velocity
MOCO (Cybozu) Watch
Backing Company Cybozu, Inc. (Japanese SaaS)
Business Model Internal tool open-sourced; no commercial offering
License Apache 2.0
Release Cadence Regular, but small surface area
GitHub Stars ~900+
Contributors Primarily Cybozu engineers
Commercial Support None official; community-only
Analysis

Clean, well-engineered, Kubernetes-native operator — but built around loss-less semi-sync replication, which Oracle has flagged as deprecated in upstream MySQL. The whole foundation of MOCO's HA story is on a slow path to removal. Cybozu is a strong engineering company, but they're not a database vendor, and there's no commercial support path. Use it with eyes open.

Clean codebase Active maintainers Single-company dependent No commercial support Semi-sync deprecated upstream
Bitpoke / Presslabs MySQL Operator

One of the most popular community MySQL operators in 2019-2021, built on async replication and used heavily for WordPress-on-Kubernetes deployments. Presslabs was acquired and rebranded to Bitpoke, and the operator's development effectively stopped. The repo still exists but receives no meaningful updates. Even GitHub-star-heavy operators can die when the backing business pivots.

Effectively abandoned No new features github.com/bitpoke/mysql-operator →
Vitess (CNCF Graduated)

Vitess is a fundamentally different category — a sharding and horizontal-scaling layer on top of MySQL, originally built at YouTube and now CNCF-graduated. If your problem is "my single MySQL cluster can't fit my data anymore", Vitess is the right answer and no other operator on this page solves that. If your problem is "I need to run normal MySQL on Kubernetes with HA and backups", Vitess is massive overkill. It's a sharding platform, not a drop-in operator.

CNCF Graduated Different use case github.com/vitessio/vitess →

Which Operator Is Right for You?

Pick what matters most to your team. We'll highlight the best fit.

Select your top 3 priorities:

The Honest Verdicts

No "it depends" cop-out. Here's when each operator is the right choice — and when it isn't.

Percona Operator for MySQL (PS) Best Overall for New Deployments
✓ Choose Percona (PS) when:
  • You're starting fresh in 2026 and want both Group Replication and async standby in one operator
  • You need DR with cross-region async replicas alongside your sync HA cluster
  • You want enterprise support from a database company with SLAs
  • You want xtrabackup (gold-standard hot physical backups) and PMM (query analytics) included
  • You're evaluating OpenEverest as a unified database platform
✗ Don't choose Percona (PS) when:
  • You need a multi-primary cluster — go PXC for true Galera multi-master
  • You're already operating PXC in production and have no compelling reason to migrate
  • Your organization requires the official Oracle-blessed MySQL path
  • You need a battle-tested operator with 5+ years of production scars — PS is newer
Percona Operator for MySQL (PXC) Best for Multi-Primary Galera Workloads
✓ Choose Percona (PXC) when:
  • You need synchronous multi-primary replication — every node can take writes
  • You've operated Galera before and want the same model on Kubernetes
  • Zero-data-loss HA via Galera certification semantics is non-negotiable
  • You want the most production-proven MySQL operator (longest track record)
  • You need enterprise support and a multi-database story (with OpenEverest)
✗ Don't choose Percona (PXC) when:
  • You want async replicas / DR clusters as first-class citizens — PS is better suited
  • You're committed to upstream MySQL Group Replication patterns
  • Your application can't tolerate Galera's flow control or write-set certification overhead
  • You want to ride the Percona strategic roadmap — that's moving toward the PS operator
Oracle MySQL Operator Best for Vendor-Stock MySQL Purity
✓ Choose Oracle when:
  • You require the official, Oracle-blessed MySQL operator
  • You're already a MySQL Enterprise / HeatWave customer and want consistency
  • You want InnoDB Cluster (GR + Router + Shell) exactly as documented by Oracle
  • You don't trust forks — only upstream MySQL Server bits
  • Vendor support via Oracle is a hard requirement
✗ Don't choose Oracle when:
  • You need free hot physical backups (xtrabackup) — Oracle ships dumps only without paid MEB
  • You want comprehensive monitoring out of the box (no PMM equivalent in the free path)
  • You expect fast feature iteration or strong community velocity
  • You need a multi-database operator (MySQL + Postgres + Mongo) under one platform
MOCO Best for Lean, K8s-Native Simplicity
✓ Choose MOCO when:
  • You want a small, clean, Kubernetes-native operator with minimal surface area
  • Semi-sync replication is a known and acceptable trade-off for your workload
  • You already have your own backup tooling, monitoring, and operations stack
  • You value a clean Go codebase you can read end-to-end
  • You don't need enterprise vendor support
✗ Don't choose MOCO when:
  • You need long-term alignment with upstream MySQL — semi-sync is deprecated
  • You want hot physical backups for multi-TB databases
  • You need vendor support with SLAs
  • You require multi-primary or sophisticated DR topologies
  • You're worried about single-company dependency with no commercial backstop
Vitess Different category — sharding, not HA

Vitess is the right answer if (and only if) your problem is "my single MySQL cluster can't fit my data". It's a query proxy + sharding layer + control plane that lets you scale MySQL horizontally across thousands of shards, with online resharding. CNCF Graduated, used at YouTube, Slack, GitHub. It is not a drop-in MySQL operator — it's an application-aware sharding platform with its own SQL dialect surface and operational model. Use Vitess in addition to one of the operators above, when sharding is mandatory.

Bitpoke / Presslabs MySQL Operator Don't pick this in 2026

Was a great operator from 2018-2021. Today, it's a cautionary tale. Development effectively stopped after Presslabs rebranded to Bitpoke and pivoted away from the OSS operator business. Do not start new deployments on this operator. If you're already running it, plan a migration. Any of the four active operators above is a safer landing spot depending on your replication model.

solanica-unified-platform.sh
$ helm install openeverest solanica/openeverest \
--set operators.mysql=true \
--set operators.postgresql=true \
--set operators.mongodb=true
# ✓ Unified control plane deployed
# ✓ MySQL, PostgreSQL, MongoDB operators ready
# ✓ Single pane of glass for all databases
$
Don't just pick an operator. Get a platform.

Solanica + OpenEverest: The Operator Problem, Solved

OpenEverest wraps Percona's MySQL operators into a unified control plane — giving you MySQL (PXC and PS), PostgreSQL, and MongoDB on any Kubernetes cluster with a single management interface, enterprise support, and no operator sprawl.

One Control Plane Manage MySQL, PostgreSQL, MongoDB from a single API and UI. No operator sprawl.
Apache 2.0 Licensed No AGPL concerns, no license traps. Use, modify, distribute freely.
Any Cloud, Any Cluster EKS, GKE, AKS, on-prem, edge. Same platform everywhere.
Enterprise Support 24/7 support from database engineers. SLAs. Escalation paths. Peace of mind.
This comparison was written by Solanica — we use Percona's MySQL operators inside OpenEverest
We scored all operators honestly, including the ones we ship. See the methodology above.
Last updated: June 2026. We keep this page current.