Skip to content

Databases

Managed MySQL on your own cluster

MySQL managed by the Percona operator, fronted by a connection proxy and backed up to an object store you own.

Created inside a project, beside the apps that use it. Each project gets its own instance, storage and credentials.

01What it does

MySQL, run for you

MySQL 8.0 or 8.4 on the Percona operator, with its connection proxy in front.

MySQL as most stacks expect it, with the operator doing the parts that usually need a DBA. Each instance gets its own volume and a proxy in front, and bound apps read DATABASE_URL without anyone pasting a password.

Three instances give automatic failover and need three schedulable nodes; on a smaller cluster the extra instances stay pending rather than crowding one node. Point the database at an object store you own and it takes scheduled full backups, kept for the retention you choose. Until point-in-time recovery is on, the backup frequency is also how far back a restore can reach, and the settings say so.

02Options

What you choose

What the console asks when you create it, in the catalog's own numbers. Anything marked chosen once cannot change without creating a new instance.

Sizes
small 0.5 CPU / 1Gi, medium 1 / 2Gi, large 2 / 4Gi per instance
Storage
10Gi per instance by default; grows later if the storage class supports expansion
Versions
8.0 or 8.4 (default), chosen once
Instances
1, or 3 for automatic failover; chosen once
Backups
Daily, twice daily or every 6 hours, to a bucket you name; kept 7 days to 6 months
Pause
Yes; the volume is kept
Public port
3306 can be opened on a public cluster

03Binding

What your app receives

Bind it to an app and these arrive as environment variables. The values are generated once into a secret and reach the app from there, rather than as something you copy.

  • MYSQL_HOST
  • MYSQL_PORT
  • MYSQL_DATABASE
  • MYSQL_USERNAME
  • MYSQL_PASSWORD
  • MYSQL_URL
  • DATABASE_URL

04Adding it

Add MySQL to a project

The same four steps as every service in the catalog.

  1. 01Open a project and go to Services.
  2. 02Pick it from the catalog and choose its options. Only the size is required; everything else has a default.
  3. 03Create it. Anyport installs it into the project's namespace, generates its credentials into a secret there, and tracks its health.
  4. 04Bind it to an app. The connection details arrive as environment variables, and rotating the credential never means editing an app.