Adios
Data services · plans from $10/month

Deploy MySQL.Separate root access from application access.

Start MySQL 8 with persistent storage, create a dedicated application database and user, protect both passwords, and verify data after restart.

Keep the repositoryInspect build and logsCustom domains and TLS
Adios deploy

Candidate release

MySQL

Healthy

SOURCE

Git

REGION

de

ROUTE

HTTPS

01Source received

02Build completed

03Runtime started

04Health check passed

Promoted route

production.adios.run

A production path for

MySQL 8SQLPersistenceSecretsApplication users

The production path

A working MySQL project still needs a safe release.

The application or service is only one part of production. Build evidence, runtime state, health, secrets, logs, routes, and the promoted version should remain inspectable together.

Start MySQL from a versioned template

Use the MySQL 8 template and define separate root and application credentials through secret references in the service environment.

Make persistence an explicit decision

The official template mounts the MySQL data directory on persistent storage. Define backups, restore tests, capacity, and upgrade ownership before launch.

Keep service state visible to operators

Connect as the application user, create and query representative data, restart the service, and confirm client reconnection without using root privileges.

From source to release

Three steps keep the deployment path reviewable.

Use the source and production behavior the project already has. The manifest records what the platform should build or provision and how the result becomes ready.

  1. 01

    Start with source or a template

    Bring the existing repository, or inspect and deploy one of the exact starter variants linked below.

    $adios login
  2. 02

    Review the deployment contract

    Keep commands, runtime or service version, health behavior, and secret references in adios.yaml.

    $git diff -- adios.yaml
  3. 03

    Deploy and inspect the result

    Follow build and runtime evidence, verify the candidate, and open the promoted route or service connection.

    $adios up
adios.yaml
Your project
name: application-db
template: mysql:8

env:
  MYSQL_ROOT_PASSWORD: secret://MYSQL_ROOT_PASSWORD
  MYSQL_DATABASE: app_production
  MYSQL_USER: app
  MYSQL_PASSWORD: secret://MYSQL_PASSWORD
Set both passwords as Adios secrets before deployment and give the application only the privileges it requires.

Deployable starting points

Start MySQL from a template when the repository is not ready.

Deploy the MySQL 8 template, then connect an application with its own database user rather than the administrative account.

Data services

MySQL 8

A MySQL 8 template with a persistent data directory.

SQLAdios managed
Template key
mysql:8
Runtime
mysql
Repository
templates
Source path
mysql/8
git clone https://github.com/adiosdotdev/templates.git
cd templates/mysql/8
adios up

Before production

Verify the workload.Then promote it.

The safest first release starts with a reproducible build or service configuration and a preview that exercises the dependencies production will actually use.

Ready when…

  • Root and application credentials are separate secrets.
  • Application privileges follow least privilege.
  • Clients reconnect after service restart.
  • Backup and restore ownership is documented.

Preview when…

  • A migration rewrites or locks production tables.
  • SQL modes or character sets are changing.
  • The application moves between MySQL major versions.

Questions, answered

What to know before deploying MySQL.

Review the runtime or service boundary, template path, failure behavior, and production checks before creating the first release.

Can I deploy MySQL from an official template?

Yes. Choose the MySQL template that matches the version or configuration you need, store credentials as Adios secrets, and deploy it from the console or with adios up.

Does the MySQL template use persistent storage?

The official template mounts the MySQL data directory on persistent storage. Define backups, restore tests, capacity, and upgrade ownership before launch.

Can Laravel, PHP, Node.js, or Python connect to MySQL?

Yes. Use the language's MySQL driver, inject the application connection settings through secrets, and test authentication plus reconnect behavior.

Should the application use the MySQL root account?

No. Create a dedicated application user with only the required privileges and reserve root credentials for controlled administrative work.

Where should database and broker passwords be stored?

Store sensitive values in Adios secrets and reference them with secret://NAME. Do not place production credentials directly in adios.yaml or commit them to Git.

What should I verify before production traffic?

Verify authentication, application connectivity, write and read behavior, restart persistence, backup or recovery expectations, capacity, and the failure behavior of every dependent application.

The first release

Deploy MySQL with the source and evidence attached.

Start from the repository or a template, review the deployment contract, and inspect what becomes the promoted production version.