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