ProxySQL in Front of AWS RDS & Aurora MySQL — Part 1: Why and Where to Place It
Why put ProxySQL in front of RDS or Aurora MySQL? Placement trade-offs, alternatives comparison, and the lab topology that carries through this 5-part series.
ProxySQL in Front of AWS RDS & Aurora MySQL — Part 2: Wiring ProxySQL to Aurora MySQL
2 errors in 1,485 queries across a live Aurora failover — a 0.1s window vs. Part 1's 60s baseline. Here's the exact ProxySQL config that produced it.
ProxySQL in Front of AWS RDS & Aurora MySQL — Part 3: Query Routing, Read/Write Split, and Multiplexing
How ProxySQL's query rules route by pattern, user, schema, and digest — and why SET @user_var, not HikariCP's defaults, is what actually breaks multiplexing.
ProxySQL in Front of AWS RDS & Aurora MySQL — Part 4: HA, Failover Patterns, and TLS
Aurora topology flip: 15s. RDS Multi-AZ failover: 64s. Dual-node ProxySQL cluster sync timings, NLB detection gaps, backend TLS — all measured live on AWS.
ProxySQL in Front of AWS RDS & Aurora MySQL — Part 5: Monitoring, Tuning, and Troubleshooting
ProxySQL + Aurora stack in production: query digest baselines, lag threshold sizing, zero-error rolling upgrade, and monitor-user revocation failure pattern.
Cross-Account Database Monitoring with PMM and AWS Transit Gateway — Part 5: Backup, Recovery, and Node Reconfiguration
Configure weekly AWS Backup for the PMM EC2 instance, walk through the full recovery procedure after a failure, and reconfigure PMM client agents on x86_64 and aarch64 nodes after a PMM server IP change.
Cross-Account Database Monitoring with PMM and AWS Transit Gateway — Part 4: Alerting with PagerDuty and CloudWatch
Configure PMM alerting end-to-end: custom MetricsQL alert templates, PagerDuty contact points, notification policies, CloudWatch data sources via IAM role assumption, and amtool for silence management.
Cross-Account Database Monitoring with PMM and AWS Transit Gateway — Part 3: Installing PMM Server and Registering Services
Install PMM Server on Docker, deploy PMM clients on x86_64 and aarch64 nodes, create monitoring users, and register MySQL, ProxySQL, and MariaDB RDS services at scale.
Cross-Account Database Monitoring with PMM and AWS Transit Gateway — Part 2: IAM Roles and Users
Configure cross-account IAM roles for PMM CloudWatch access and IAM users for Aurora OS metrics. Includes full trust policy, permissions policy, and Terraform references.
Cross-Account Database Monitoring with PMM and AWS Transit Gateway — Part 1: Architecture and TGW Setup
Set up centralized RDS monitoring across multiple AWS accounts using Percona Monitoring and Management (PMM) and AWS Transit Gateway. Full network, routing, and security group walkthrough.
How a MySQL UPDATE Actually Works: InnoDB Internals Animated
Step-by-step animation of what happens inside MySQL when you run an UPDATE. From client packet to redo log fsync — every layer of InnoDB explained with interactive visualization.
MySQL EXPLAIN Output Explained: The Complete Guide (2026)
Every column of MySQL EXPLAIN output decoded with real examples from a 680K-row production database. Learn what each access type means, when to worry, and how to fix the slow ones.
We Built a Free MySQL EXPLAIN Analyzer — Here's What It Catches That You're Missing
Free MySQL & MariaDB EXPLAIN ANALYZE visualizer with 49 detection rules, smart index recommendations, and impact simulation. Tested against AI analysis on 50 unseen queries. 100% client-side.
MariaDB 10.6 to MySQL Aurora 8.0 Migration Guide — Part 5: Execution, Validation, Cutover, and Cleanup
Run the AWS DMS migration task, enable data validation, perform the cutover from MariaDB to Aurora MySQL, recreate indexes, and clean up all temporary AWS resources.
MariaDB 10.6 to MySQL Aurora 8.0 Migration Guide — Part 4: DMS Endpoints, Task Configuration, and Assessments
Configure AWS DMS source and target endpoints, set up DMS users, create the migration task with correct LOB and table mapping settings, and run pre-migration assessments.
MariaDB 10.6 to MySQL Aurora 8.0 Migration Guide — Part 3: Schema and User Migration
Migrate schema and users from MariaDB 10.6 to Aurora MySQL 8.0. Covers mysqldump compatibility pipeline, incompatible object cleanup, index strategy for DMS, and user export with pt-show-grants.
MariaDB 10.6 to MySQL Aurora 8.0 Migration Guide — Part 2: AWS DMS Infrastructure Setup
Set up AWS DMS for MariaDB to Aurora MySQL migration. Step-by-step guide to IAM roles, replication instance sizing, VPC configuration, and security group rules.
MariaDB 10.6 to MySQL Aurora 8.0 Migration Guide — Part 1: Pre-Migration Requirements
Pre-migration checklist for migrating from MariaDB 10.6 to Amazon Aurora MySQL 8.0 via AWS DMS. Covers timeout settings, binlog configuration, and target validation.
MySQL 8.0 to 8.4 LTS Upgrade Guide — Part 5: Change Management, Troubleshooting, and Complete Checklist
Complete MySQL 8.4 upgrade checklist with 41 items, 8 common troubleshooting scenarios, project timeline estimates, and change management templates for production upgrades.
MySQL 8.0 to 8.4 LTS Upgrade Guide — Part 4: Rollback Strategy and Post-Upgrade Validation
Plan your MySQL 8.4 rollback strategy before you start. Plus the complete post-upgrade validation checklist — version checks, replication health, optimizer stats, and monitoring.
MySQL 8.0 to 8.4 LTS Upgrade Guide — Part 3: Upgrade Execution
Three MySQL upgrade approaches compared — replication-based, in-place, and rolling replica. Step-by-step commands, configuration templates, and time estimates for each method.
MySQL 8.0 to 8.4 LTS Upgrade Guide — Part 2: Upgrade Testing
Learn how to test your MySQL 8.0 to 8.4 upgrade using pt-upgrade, dry-run procedures, application compatibility checks, and canary testing before touching production.
MySQL 8.0 to 8.4 LTS Upgrade Guide — Part 1: Pre-Upgrade Preparation
MySQL 8.0 reached EOL on April 6, 2026. This guide covers every pre-upgrade step — backups, upgrade checker, removed parameters, authentication migration, and schema fixes.