Simplifyd Cloud
HomeDashboardMySQL

MySQL

Create a managed MySQL database, choose how many servers it runs, connect to it, schedule backups, and restore from one.

A MySQL service is a MySQL database that Simplifyd Cloud runs and maintains for you.

Creating a database

  1. Click + Add and choose MySQL.
  2. Choose how many servers and routers to run, and set the storage.
  3. Click Apply in the Apply Changes bar.

The database takes a few minutes to come up — most of that is downloading the MySQL image the first time. While it starts, the node shows as starting.

Servers and routers

A MySQL service is made of two kinds of node, and you pay for both.

NodeWhat it does
ServerHolds your data. Each server keeps a full copy.
RouterTakes connections from your app and passes them to the right server. Holds no data.

Your app always connects to the router, never to a server directly. That is what lets the database keep working when a server fails — the router sends traffic to whichever server is currently in charge.

How many servers

ServersWhat you get
1One server. If it fails, the database is down until it restarts. Fine for development.
3 or moreCopies of your data on every server. The database keeps accepting writes as long as more than half the servers are up.

Use an odd number. More than half the servers must agree before a write is accepted, so going from 3 to 4 costs you a node without letting you survive any more failures. 3 survives 1 failure, 5 survives 2.

How many routers

One router is enough to run a cluster. Add a second if you do not want the router itself to be a single point of failure.

Routers are billed the same as servers. A 3-server cluster with 1 router is 4 nodes on your bill. The create dialog shows the total before you apply.

Connecting

Open the service panel → Settings tab → Connection. You get a user, a password, and a Connection URL you can paste into a client.

The URL points at the router on port 6446:

mysql://root:password@my-mysql.abc12.3959zww.simplifyd.internal:6446/

There is no database name on the end. MySQL starts empty, so create a database yourself with your first connection:

CREATE DATABASE myapp;

The connection uses the private network, so nothing is exposed to the internet.

Any other service in the same environment can pull the connection details in with a reference variable:

DATABASE_URL=${{mysql.DATABASE_URL}}

These names are available on a MySQL service:

VariableWhat it holds
DATABASE_URLThe full connection URL.
MYSQL_HOSTThe router hostname.
MYSQL_PORTThe router port, 6446.
MYSQL_USERThe username.
MYSQL_PASSWORDThe password.

There is no MYSQL_DATABASE, because MySQL starts with no database for it to name.

Storage

Storage is set per server, and each server keeps a full copy of your data. Three servers at 20 GB provision 60 GB in total, and that is what you are billed for. Routers use none.

Storage cannot be changed after the database is created. Pick a size with room to grow.

Versions

The version is fixed when you create the service. Upgrading MySQL needs a careful step-by-step procedure, so Simplifyd Cloud will not do it for you in the background. To move to a newer version, create a new service and move your data across.

Backups

Open the service panel → Settings tab → Backups.

A backup is a dump of the whole database written to a bucket. Pick how often it runs:

FrequencyWhen
Daily02:00 UTC
Twice daily02:00 and 14:00 UTC
WeeklySunday, 02:00 UTC

Times are UTC, not your local time.

These are snapshots taken on a schedule. You can restore to a backup that has run, not to an arbitrary moment in time. Postgres can do the latter; MySQL here cannot. If you need to recover to the exact second before a bad write, use Postgres.

Where backups go

Choose one of two destinations:

A Simplifyd bucket — pick a bucket from the list. It must be in the same project and environment as the database. This is the simpler option: the credentials are read from the bucket each time a backup runs, so rotating the bucket's keys will not quietly break your backups.

Another S3-compatible bucket — give the bucket name, endpoint URL, region, and an access key pair. Use this for a bucket you keep somewhere else.

Backup settings are applied when you next deploy the service, like every other setting. Saving alone does not start backing anything up.

Turning backups off

Set the frequency to Off and save. Backups that have already been written are kept — turning off future backups never deletes past ones. Deleting the whole service does not delete its backups either.

Restoring from a backup

Restoring creates a new database from a backup. It does not rewind an existing one.

  1. Click + Add and choose MySQL.
  2. Set the servers, routers and storage as usual.
  3. Under Restore from a backup, pick the bucket holding the backup.
  4. Enter the path to the backup — for example /mysql/orders/2026-08-24T02-00-00Z.
  5. Click Apply.

The new database starts up, loads the backup, and is then ready to use. Once you are happy with it, point your app at the new connection URL.

Give the path to one backup, not the folder holding all of them. A path with no backup in it loads nothing, and the database starts up empty rather than failing — so check the data is there before you switch over.

A database can only be restored when it is created. There is no way to restore into a database that already exists, which is why the option lives in the create dialog and not in Settings.

If the backup cannot be read — wrong path, wrong bucket, missing permissions — the new service shows as failed rather than starting up empty.

What is not available yet

MySQL is newer than Postgres on Simplifyd Cloud, and some things Postgres has are not here yet:

  • No point-in-time recovery, only restore points from backups that have run
  • No restoring in place — restoring always creates a new database
  • No password rotation from the dashboard
  • No dashboard screen for extra databases and users — create them yourself over the connection
  • No storage resizing

If you need those today, use Postgres.

Logs

Deployment logs are not available for MySQL services — the database is managed by the platform. Use the Metrics tab to see load.