<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/percona-operator-for-mysql-1-3-0-autopilot-tuning-zero-data-loss-async-failover-encrypted-pitr-tz3wdzo3g" -->

---
title: Percona Operator for MySQL 1.3.0: autopilot tuning,...
description: Percona Operator for MySQL 1.3.0 adds automatic MySQL configuration tuning, zero data loss failover for async clusters, and encrypted point-in-time recovery. A...
canonical: https://daily.dev/posts/percona-operator-for-mysql-1-3-0-autopilot-tuning-zero-data-loss-async-failover-encrypted-pitr-tz3wdzo3g
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Percona Operator for MySQL 1.3.0: autopilot tuning, zero-data-loss async failover, encrypted PITR | daily.dev
og:description: Percona Operator for MySQL 1.3.0 adds automatic MySQL configuration tuning, zero data loss failover for async clusters, and encrypted point-in-time recovery. A...
og:url: https://daily.dev/posts/percona-operator-for-mysql-1-3-0-autopilot-tuning-zero-data-loss-async-failover-encrypted-pitr-tz3wdzo3g
og:image: https://api.daily.dev/og/posts/TZ3WDzo3g.png
og:image:alt: Percona Operator for MySQL 1.3.0: autopilot tuning, zero-data-loss async failover, encrypted PITR
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Percona Operator for MySQL 1.3.0: autopilot tuning, zero-data-loss async failover, encrypted PITR

**[Planet MySQL](https://daily.dev/sources/planet-mysql)** · 6 min read · 0 upvotes · 0 comments

## Summary

Percona Operator for MySQL 1.3.0 adds automatic MySQL configuration tuning, zero data loss failover for async clusters, and encrypted point-in-time recovery. A new autoConfig block computes MySQL settings from pod CPU and memory limits plus a declared workload shape (mostlyReads, someWrites, equalReadsWrites, heavyWrites). Async clusters now require backups enabled, since failover reads binary logs from the failed primary through a new xtrabackup sidecar endpoint, with a default one-hour failover budget. Binlog shipping can now be encrypted at rest using envelope encryption with AES-256-CTR, keyed from a Kubernetes Secret keyring.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.percona.com/blog/percona-operator-for-mysql-1-3-0>

## Questions this post answers

### Why does Percona Operator for MySQL 1.3.0 require backups to be enabled on async clusters?

Backups are required because the new zero data loss failover feature reads binary logs from the failed primary's xtrabackup sidecar to recover transactions that had not yet reached a replica. The CRD validates this and refuses to reconcile async clusters without backups enabled. To opt out and restore pre-1.3.0 behavior, set spec.unsafeFlags.asyncFailoverWithPossibleDataLoss to true.

_Teams planning this upgrade can track operator breaking changes like this on daily.dev before they hit production._

### How does Percona Operator for MySQL 1.3.0 automatically tune MySQL configuration?

It uses a new spec.mysql.autoConfig block that computes configuration from the pod's CPU and memory limits plus a declared loadType (mostlyReads, someWrites, equalReadsWrites, or heavyWrites) and MySQL version. The CRD requires both CPU and memory limits to be set when autoConfig is enabled. Where possible, changes apply via SET GLOBAL instead of a pod restart.

_Anyone sizing MySQL on Kubernetes can follow operator tuning changes like this via daily.dev._

### How does encrypted point-in-time recovery work in Percona Operator for MySQL 1.3.0?

The binlog server uses envelope encryption: a per-file data encryption key (DEK) encrypts each binlog file, and that DEK is wrapped under a key encryption key (KEK) stored in a Kubernetes Secret keyring. The default cipher is AES-256-CTR. On restore, the PITR tool unwraps the file key from the keyring and streams decrypted events through mysqlbinlog; a missing KEK fails the restore fast.

_Developers evaluating encrypted backup options for MySQL on Kubernetes can follow releases like this on daily.dev._

## Similar posts on daily.dev

- [Percona Operator for MySQL 1.2.0: Cross-Site Replication, Encrypted Backups, and Automatic Storage Scaling](https://daily.dev/posts/percona-operator-for-mysql-1-2-0-cross-site-replication-encrypted-backups-and-automatic-storage-s-kxmgxdykk) · Percona Blog · 0 upvotes · 0 comments
- [Percona Operator for MySQL \(PXC\) 1.20.0: Automatic Storage Resizing, TLS Certificate Rotation, and ARM64 Support](https://daily.dev/posts/percona-operator-for-mysql-pxc-1-20-0-automatic-storage-resizing-tls-certificate-rotation-and-a-hg5xaezf0) · Percona Blog · 6 upvotes · 0 comments
- [From Minutes to Seconds: Uber Boosts MySQL Cluster Uptime with Consensus Architecture](https://daily.dev/posts/from-minutes-to-seconds-uber-boosts-mysql-cluster-uptime-with-consensus-architecture-1uhaxiyym) · InfoQ · 0 upvotes · 0 comments
- [Optimize OLTP and OLAP Workloads with MySQL HeatWave Autopilot](https://daily.dev/posts/optimize-oltp-and-olap-workloads-with-mysql-heatwave-autopilot-bkx8gqerz) · Planet MySQL · 0 upvotes · 0 comments
- [Percona Operator for PostgreSQL 3.1.0: Transparent Data Encryption, Logical Replicas, and Persistent Logging](https://daily.dev/posts/percona-operator-for-postgresql-3-1-0-transparent-data-encryption-logical-replicas-and-persistent-froj13m3v) · Planet PostgreSQL · 3 upvotes · 0 comments

---

Tags: [#kubernetes](https://daily.dev/tags/kubernetes), [#database](https://daily.dev/tags/database), [#mysql](https://daily.dev/tags/mysql)

[View this post on daily.dev](https://daily.dev/posts/percona-operator-for-mysql-1-3-0-autopilot-tuning-zero-data-loss-async-failover-encrypted-pitr-tz3wdzo3g)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Percona Operator for MySQL 1.3.0: autopilot tuning, zero-data-loss async failover, encrypted PITR","url":"https://daily.dev/posts/percona-operator-for-mysql-1-3-0-autopilot-tuning-zero-data-loss-async-failover-encrypted-pitr-tz3wdzo3g","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/percona-operator-for-mysql-1-3-0-autopilot-tuning-zero-data-loss-async-failover-encrypted-pitr-tz3wdzo3g"},"datePublished":"2026-10-29T14:48:36.186Z","dateModified":"2026-10-29T14:50:45.727Z","description":"Percona Operator for MySQL 1.3.0 adds automatic MySQL configuration tuning, zero data loss failover for async clusters, and encrypted point-in-time recovery. A...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/acd02218ed6f08700731c4bdd25498b7?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/acd02218ed6f08700731c4bdd25498b7?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Planet MySQL","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Planet MySQL","logo":"https://media.daily.dev/image/upload/s--UKAtmXTq--/f_auto,q_auto/v1780213421/logos/planet-mysql?_a=BAMAMiWQ0","url":"https://daily.dev/sources/planet-mysql"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/percona-operator-for-mysql-1-3-0-autopilot-tuning-zero-data-loss-async-failover-encrypted-pitr-tz3wdzo3g","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"kubernetes,database,mysql","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Planet MySQL","item":"https://daily.dev/sources/planet-mysql"},{"@type":"ListItem","position":3,"name":"Percona Operator for MySQL 1.3.0: autopilot tuning, zero-data-loss async failover, encrypted PITR"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/percona-operator-for-mysql-1-3-0-autopilot-tuning-zero-data-loss-async-failover-encrypted-pitr-tz3wdzo3g#faq","mainEntity":[{"@type":"Question","name":"Why does Percona Operator for MySQL 1.3.0 require backups to be enabled on async clusters?","acceptedAnswer":{"@type":"Answer","text":"Backups are required because the new zero data loss failover feature reads binary logs from the failed primary's xtrabackup sidecar to recover transactions that had not yet reached a replica. The CRD validates this and refuses to reconcile async clusters without backups enabled. To opt out and restore pre-1.3.0 behavior, set spec.unsafeFlags.asyncFailoverWithPossibleDataLoss to true. Teams planning this upgrade can track operator breaking changes like this on daily.dev before they hit production."}},{"@type":"Question","name":"How does Percona Operator for MySQL 1.3.0 automatically tune MySQL configuration?","acceptedAnswer":{"@type":"Answer","text":"It uses a new spec.mysql.autoConfig block that computes configuration from the pod's CPU and memory limits plus a declared loadType (mostlyReads, someWrites, equalReadsWrites, or heavyWrites) and MySQL version. The CRD requires both CPU and memory limits to be set when autoConfig is enabled. Where possible, changes apply via SET GLOBAL instead of a pod restart. Anyone sizing MySQL on Kubernetes can follow operator tuning changes like this via daily.dev."}},{"@type":"Question","name":"How does encrypted point-in-time recovery work in Percona Operator for MySQL 1.3.0?","acceptedAnswer":{"@type":"Answer","text":"The binlog server uses envelope encryption: a per-file data encryption key (DEK) encrypts each binlog file, and that DEK is wrapped under a key encryption key (KEK) stored in a Kubernetes Secret keyring. The default cipher is AES-256-CTR. On restore, the PITR tool unwraps the file key from the keyring and streams decrypted events through mysqlbinlog; a missing KEK fails the restore fast. Developers evaluating encrypted backup options for MySQL on Kubernetes can follow releases like this on daily.dev."}}]}
```

