Skip to content

Announcing native MySQL databases: Bring your MySQL workloads to Appwrite_

Provision a managed MySQL 8.4 instance inside your Appwrite project and keep using the drivers, ORMs, and tools your applications already depend on.

5 min read

MySQL runs an enormous share of the software already in production. Most teams considering a backend platform are not starting from zero; they have a Laravel application, a Django service, or a decade-old schema that works, and the real question is where it should live.

Today we are announcing native MySQL databases in Appwrite, so the answer can be: inside the same project as the rest of your backend.

Create your first database

Provisioning happens in the Console:

  1. In your project, go to Databases and click Create database.
  2. Under Choose database type, select MySQL from the Native databases group.

Choosing MySQL in the create database flow
Choosing MySQL in the create database flow

  1. Under Specifications, pick the tier that fits your workload, and optionally configure read replicas and point-in-time recovery.

Selecting a specification
Selecting a specification

  1. Review the summary and click Create database.

The database provisions in minutes and reports ready when you can connect.

Connect your existing application

A native MySQL database is a standard MySQL 8.4 engine (8.0 is also supported) with its own hostname, credentials, and TLS. Connecting is exactly what you expect:

Bash
mysql -h db-<hash>.<region>.appwrite.center -P 3306 -u admin -p -D <database>

Change the connection string in your existing application and it runs. We verified the common paths end to end and published integration guides for Laravel, Django, Rails, Spring Boot, EF Core, GORM, Prisma, Drizzle, and more, each with the MySQL-specific configuration spelled out.

Because this is the engine itself, the Appwrite SDKs are not part of the data path. Reads and writes go through your drivers and ORMs, the way they already do. If you want SDK-driven data APIs with document permissions instead, that is what Appwrite Databases are for. Native databases and Appwrite databases live side by side in the same project, so you can use both.

Managed operations

Provisioning MySQL is straightforward; operating it over time is where the cost accumulates. The managed layer covers that operational work:

  • Backups and PITR. Scheduled and manual backups, plus continuous binary log archiving that restores to any point in the retention window, such as the second before a bad migration.
  • High availability. Up to five replicas with a choice of replication mode and automatic failover behind a stable hostname.
  • Branches. Instant, isolated copies of the database for previews and CI, created from a storage snapshot.
  • Scaling. Online resizes across eight compute tiers and storage autoscaling with a configurable threshold.
  • Connection pooling. A ProxySQL-based pooler absorbs connection churn from serverless and per-request runtimes.
  • Network security. TLS on by default and IP allowlists enforced before authentication.

Compute specifications and pricing are identical to the PostgreSQL offering, starting at $10 per month, with the full table in the documentation.

Get started

Native MySQL databases are available on Appwrite Cloud today on dedicated infrastructure.

Read next

Appwrite now speaks Postgres

Jake Barnby

Run a managed PostgreSQL instance inside your Appwrite project and connect to it with psql, your ORM, and the entire PostgreSQL ecosystem.

6 min read

Ready to build?_