TL;DR

  • What you get: one table with the smallest useful managed MySQL plan on five platforms, what it costs per month, and what happens to your data if something breaks.
  • Who it's for: anyone running Laravel, WordPress, Rails or any app that needs MySQL and doesn't want to babysit a server.
  • Time needed: 10 minutes to read, 5 minutes to create a database.
  • Short answer: for a hobby app or staging, Hubfly space ($3.92/mo for 0.5 vCPU / 1 GiB) or Aiven Developer ($5) are cheapest. For production data you can't lose, pay for daily backups and point-in-time restore: DigitalOcean ($15.15) is the cheapest fixed plan with both built in; Railway can cost less if you turn on backups and point-in-time restore yourself. PlanetScale ($39) is the pick when you need high availability from day one.

You need MySQL. Your app is a Laravel shop, a WordPress site or an old Rails monolith, and the framework expects it. Most "managed database" comparisons only talk about Postgres, and the MySQL ones list prices without saying the most important thing: what you get back when someone runs DROP TABLE on a Friday.

This guide fixes that. You'll see what the smallest MySQL plan costs on five platforms, what backups each one includes, and where each one wins. Then you'll create a MySQL database on Hubfly space.

Try it on Hubfly space: new accounts start free, no card needed.

The price table

Prices are each vendor's official monthly list price for the smallest plan that runs MySQL with about 1 GB of memory, read on 4 November 2026. Prices change; follow the links before you buy.

Provider Smallest MySQL plan Monthly price Backups included Point-in-time restore High availability
Hubfly space 0.5 vCPU, 1 GiB RAM, 10 GiB storage $3.92 (docs) Not yet: automatic backups are "coming soon" No No (single instance)
Aiven Developer 1 CPU, 1 GB RAM, 8 GB storage $5 (pricing) A single backup, for disaster recovery only No No
Railway Usage-based MySQL template on a volume ≈ $7.68 at light use (see math below) (pricing) Optional volume backups: daily kept 6 days, weekly 27, monthly 89 (docs) Optional, you turn it on (docs) Optional Group Replication cluster (docs)
DigitalOcean 1 vCPU, 1 GiB RAM, single node $15.15 (pricing) Daily full backups (docs) Any point in the last 7 days Not on the 1 GiB plan; HA from $60/mo (2 GiB primary + standby, existing accounts) or Advanced Edition
Aiven Hobbyist 1 CPU, 1 GB RAM, 8 GB storage from $19 (pricing) A single backup, for disaster recovery only No No
PlanetScale PS-10 (Vitess) 1/8 vCPU, 1 GB RAM per node, 3 nodes, 10 GB storage $39 (pricing, AWS us-east-1) Automatic backups every 12 hours, included (docs) Not listed in the backups docs Yes: 1 primary + 2 replicas in 3 availability zones

Two providers you might expect are missing on purpose:

  • Render has no managed MySQL. Its docs show you how to run MySQL yourself as a private service with a disk. You get daily disk snapshots, but Render itself says relying on a snapshot to restore a database "is not recommended" and points you to mysqldump.
  • AWS RDS for MySQL is the default in big companies, but its price depends on instance class, region, storage type and backup size. Use the AWS pricing page with your real numbers; a one-line price here would mislead you.

Free options exist too. Aiven lists a free MySQL plan (1 CPU, 1 GB RAM, 1 GB disk, 76 connections) and says it may power off idle free services. Aiven also says its free tier "is not aimed at production workloads". Fine for learning, not for customer data.

How the Hubfly space price adds up

Hubfly space bills a managed database by the hour for the CPU and memory you pick, plus storage, plus a 30% management fee on compute while the instance runs. There's no seat or project fee. The math for the default MySQL size (0.5 vCPU, 1 GiB, 10 GiB storage), at 730 hours a month:

Item Formula Per month
CPU 0.5 vCPU × $0.004 × 730 h $1.46
Memory 1 GiB × $0.002 × 730 h $1.46
System disk 1 GiB × $0.00001536 × 730 h $0.01
Compute $2.93
Management 30% × ($1.46 + $1.46) $0.88
Storage 10 GiB × $0.00001536 × 730 h $0.11
Total $3.92

Create a database form on Hubfly space with MySQL 8.4 LTS selected and the price estimate panel showing $3.92 a month

The Create a database form with MySQL selected. The panel on the right shows each line of the monthly estimate.

If you only need 1 GiB of storage, the same size costs $3.82, the "From $3.82/mo" price on the MySQL card. MySQL needs at least 1 GiB of memory, so the smaller Nano size ($2.02) is only for PostgreSQL and SQLite (libSQL).

Bigger sizes follow the same formula: Medium (1 vCPU, 2 GiB) is $7.72, Large (2 vCPU, 4 GiB) is $15.31. Storage stays cheap at about $0.011 per GiB-month, so 100 GiB adds roughly $1.12. Storage is billed even while the instance is stopped; compute and management are not.

How the Railway estimate adds up

Railway doesn't sell database plans. MySQL is a template that runs as a normal service on a volume, and you pay per second for what it actually uses (rates):

  • Memory: $0.00000386 per GB-second = $10.14 per GB-month
  • CPU: $0.00000772 per vCPU-second = $20.29 per vCPU-month
  • Volume: $0.00000006 per GB-second = $0.16 per GB-month

A quiet MySQL that averages 0.5 GB of memory and 0.05 vCPU, with 10 GB of data: 0.5 × $10.14 + 0.05 × $20.29 + 10 × $0.16 = $7.68 a month. The Hobby plan's $5 minimum covers the first $5 of that. A busier database that holds 1 GB of memory and uses 0.25 vCPU lands near $17. The upside: you pay for real use. The catch: your bill moves with your traffic, and backups are billed as extra volume storage.

What "backups" really means on each platform

Part of the price gap between $4 and $15 is a bigger CPU; the rest is backups. Here's what you can do after a bad migration deletes a table:

  • Point-in-time restore (DigitalOcean, Railway if you turn it on): you pick a timestamp, say two minutes before the bad query, and get a copy of the database from that moment. DigitalOcean keeps this for 7 days. This is what you want for production.
  • Scheduled snapshots (PlanetScale every 12 hours, Railway volume backups): you can go back to the last snapshot. You lose everything written since then.
  • One disaster-recovery backup (Aiven Developer and Hobbyist): Aiven keeps a single backup to recover the service if its hardware fails. It's not a history you can browse.
  • Nothing automatic yet (Hubfly space): automatic backups are listed as "coming soon" on the create form. Until they ship, run your own mysqldump on a schedule and store the file somewhere else (see below).

Where each one wins

Hubfly space wins on price for small databases. $3.92 a month for a dedicated 0.5 vCPU and 1 GiB, billed hourly, with MySQL 8.4 LTS or 9.7 LTS, TLS, an IP allowlist and credentials built in. It also runs your app, so a Laravel or WordPress container and its database live in one account with one bill. It loses on backups (none automatic yet) and placement: you can't pick a region for a managed database, so check latency from where your app runs.

Aiven wins if you want a big-name managed service for $5. The Developer plan is cheap and simple. Backups are thin until you reach the $75 Startup plan, which adds 2 days of point-in-time restore.

Railway wins if your database is idle most of the time and you already deploy there. Usage pricing can beat any fixed plan for a quiet app. You opt in to backups, point-in-time restore and HA yourself.

DigitalOcean wins on production basics for the money. $15.15 gets you daily backups and restore to any point in the last 7 days, with no extra setup. For failover you need a 2 GiB+ plan with a standby node, or Advanced Edition for new accounts. Note that from 15 October 2026 for new accounts (30 November 2026 for all accounts), new Standard Edition clusters can't add standby or read-only nodes or go above 4 GiB RAM; those move to the pricier Advanced Edition.

PlanetScale wins when downtime costs real money. Even the $39 PS-10 runs three nodes across three availability zones, on Vitess, the system PlanetScale built its MySQL product on. It's overkill for a side project and the right tool for a growing product.

Which one should you pick?

Your situation Pick
Side project, staging or a learning app Hubfly space ($3.92) or Aiven Developer ($5)
App you deploy on Railway already, light traffic Railway MySQL template
Production data, small budget, need point-in-time restore DigitalOcean ($15.15)
Production, can't afford downtime PlanetScale ($39+)
You also want the app, storage and email in one place Hubfly space, plus your own backup job

Create a MySQL database on Hubfly space

  1. Open the dashboard and click Create Project. Give it a name like shop-data, choose Managed service, and click Create Project.
  2. On Add your first managed service, click Create a database.
  3. Under Engine & version, choose MySQL. Keep MySQL 8.4 LTS unless your app needs 9.7.
  4. Under Size, choose Small (0.5 vCPU, 1 GiB). Nano is greyed out for MySQL because it needs at least 1 GiB.
  5. Set Storage to what you need. You can grow it later but never shrink it, so start small.
  6. Under IP allowlist, click Add my IP, then add the address range your app connects from. Do this before you create the database. The default is open to all IPs, and anyone with the password could connect.
  7. Name the instance, for example shop-mysql, check the price panel, and click Create database. Wait until the instance shows as running; this usually takes a few minutes.

Why the allowlist matters: a database open to the whole internet invites password-guessing. Credentials stop most attempts, but an allowlist means strangers can't even open a connection.

Set up your own nightly backup

Until automatic backups ship, run mysqldump from a scheduled job and keep the file outside the database. Put host, port, user and password under a [client] section in ~/.shop-mysql.cnf and run chmod 600 ~/.shop-mysql.cnf, so the job never stops to ask for a password. Use the MySQL 8.x client (mysql-client from Oracle's MySQL repository or Homebrew); the MariaDB client that some Linux distributions install doesn't accept --ssl-mode. Save this as backup.sh, make it executable, and schedule it with cron:

#!/usr/bin/env bash set -o pipefail mysqldump --defaults-extra-file=$HOME/.shop-mysql.cnf \ --single-transaction --no-tablespaces --routines --triggers \ --ssl-mode=REQUIRED <your-database> | gzip > shop-$(date +%F).sql.gz 

set -o pipefail makes the job fail loudly if the dump fails, instead of leaving an empty file that looks like a backup. --no-tablespaces avoids the "PROCESS privilege" error that managed database users usually hit. --single-transaction takes a consistent copy without locking InnoDB tables, so your app keeps working while the dump runs.

Upload the file to an S3-compatible bucket such as Hubfly space Storage (about $0.011 per GB-month) and delete files older than 14 days. Then restore one into a scratch database once, so you know it works before you need it:

gunzip -c shop-<date>.sql.gz | mysql --defaults-extra-file=$HOME/.shop-mysql.cnf --ssl-mode=REQUIRED <scratch-database> 

What can go wrong

  1. A timeout or "Can't connect to MySQL server" when your app connects. The allowlist doesn't include your app's address. Add your app's outbound IP or range to the database's IP allowlist and try again. ("Access denied" is different: it means a wrong user or password.)
  2. Connection fails with an SSL error. The database is served over TLS. Add --ssl-mode=REQUIRED to the mysql client, and turn on TLS in your driver's connection settings.
  3. The bill is higher than the table. Check storage: it's billed while the instance exists, even when stopped, and on DigitalOcean extra storage costs $0.215 per GiB-month. On Railway, check memory: a MySQL that caches more data uses more RAM, and you pay for it by the second.

Takeaway

For a small MySQL database, the cheapest managed option is now under $4 a month. What you pay more for elsewhere is mostly backups and failover. Decide how much data you can afford to lose, then pick the cheapest plan that covers it. If that answer is "a day's worth is fine and I'll run my own dump", Hubfly space is the cheapest place to start.

Read next: How to move your app from Railway to Hubfly space · Docker health checks that catch real problems · Managed databases on Hubfly space

Go further on Hubfly space

  • Run the app next to the database: deploy your Laravel or WordPress container on Hubfly space Cell and connect it with the credentials from the database's Connect page. (Databases docs)
  • Store backups and uploads: keep nightly dumps and user files in Hubfly space Storage, S3-compatible. (Storage docs)
  • Moving from another host? Follow the Railway migration guide for the app side, then load your mysqldump file into the new database.

Create your MySQL database on Hubfly space: from $3.82 a month, billed by the hour. New accounts get 360 free container hours a month for the app side.