Edge
MySQL logo

For MySQL / MariaDB

MySQL on Edge,
no IOPS surprises

Self-hosted MySQL or MariaDB on dedicated NVMe, with binlog shipping to S3-compatible storage and replication over private networking. The classic LAMP database, modernised.

# Provision a MySQL VM with NVMe

$ edge compute create \

--image ubuntu-24-04 --plan db-medium \

--script ./bootstrap-mysql.sh

# my.cnf — binlog + S3 archive

[mysqld]

log_bin = /var/lib/mysql/binlog

expire_logs_days = 7

innodb_buffer_pool_size = 12G

# Nightly dump → Edge Storage

$ mysqldump --all-databases | \

aws s3 cp - s3://mysql-backups/$(date +%F).sql \

--endpoint storage.edge.run

Why MySQL teams pick Edge

Real disk, real RAM, real network — the three things every MySQL workload depends on.

NVMe storage with no IOPS bills

Real local NVMe on every VM. No EBS-style burst credits, no per-IOPS provisioning, no surprise throttling on busy nights.

Replication, your way

Standard async replication, semi-sync, or group replication on separate VMs over private networking. Same MySQL features as RDS, none of the licensing locks.

Binary log shipping to S3

Pipe binlogs to Edge Storage with `mysqlbinlog` or Percona's tools for point-in-time recovery — without the per-GB-month snapshot bills.

MariaDB drop-in if you prefer

Same install pattern, swap the binaries. Use Percona Server, MariaDB or vanilla MySQL — your call, no platform lock.

Plugins and engines

InnoDB, MyRocks, Spider — install whatever you compile. Sysbench-tune to your workload without permission from a control panel.

No per-instance-hour markup

A db.r6g.large RDS MySQL is ~$200/month before storage. The same workload on an Edge VM with bigger NVMe is a small fraction of that.

Reference architecture

How MySQL maps to Edge

Primary VM with NVMe, optional async replica, binlogs and dumps to object storage. Boring, fast, predictable.

Compute

MySQL/MariaDB on a VM with NVMe data directory and ProxySQL pooler

Storage

Binary log archive bucket + nightly logical/physical dumps

DNS

Anycast DNS for `db.example.com` pointing at the primary VM

Compute (replica)

Optional async replica on a second VM via private networking

# App config (Laravel / Django / etc.)

DB_HOST=db.private.edge.network

DB_PORT=3306

DB_DATABASE=app

DB_USERNAME=app

DB_PASSWORD=...

# Sub-millisecond on the private network

$ mysql -e "SELECT 1"

Query OK, 1 row in 0.4ms

Common questions

How does this compare to RDS MySQL / Aurora?

Cheaper (no per-instance-hour, no per-GB snapshot fees) and faster on like-for-like hardware. Trade-off: you handle backups, upgrades and HA — or our Expert Services team can.

MySQL or MariaDB?

Either. MariaDB is a drop-in replacement and slightly more open-source-friendly. Most apps that say "MySQL" run unchanged on MariaDB. Pick what your team knows.

How do I do HA?

Async replication to a hot standby for read scaling, semi-sync or group replication if you need synchronous. Pair with Orchestrator or MaxScale for automated failover.

What about backups?

Logical: `mysqldump` to Edge Storage. Physical: Percona XtraBackup or MariaDB Backup with binlog shipping. Both give point-in-time recovery to a bucket without RDS' markup.

By Stack

Other stacks on Edge

View all stacks →

Move MySQL to Edge

30-day trial. Migrate from RDS or stand up a fresh primary — Expert Services can plan the cutover.