MySQL.
The relational database behind a great deal of existing business software, upgraded and tuned with care.
Talk to us about MySQL
Key features
What MySQL does well.
InnoDB transactions
The default InnoDB engine gives ACID transactions, row-level locking and crash recovery.
InnoDB Cluster
Group Replication, MySQL Shell and MySQL Router combine into a cluster with automatic failover.
Instant schema changes
Many column additions and changes run as instant or online DDL, without locking the table for the whole change.
JSON columns
A native JSON type with functions for querying it, and indexes on generated columns for fast lookups.
What we build with it

Keep the database you already have in good shape.
Plenty of the products we take on already run on MySQL, often with years of data in them. We fix slow queries, tidy schemas, plan upgrades and move self-managed servers to managed services. For a brand-new product we usually pick PostgreSQL, but MySQL is a sound base when your team or platform already depends on it.
Version upgrades
Moves from MySQL 8.0, which reached end of life in April 2026, to 8.4 LTS, with compatibility checks before anything changes.
Query performance
Slow-query analysis, better indexes and schema changes for pages that have slowed down as data grew.
Managed hosting
Migration to Amazon RDS or Aurora, Azure Database for MySQL or Google Cloud SQL.
When it’s the right choice
MySQL is the right call when your product, host or team already uses it, or when a platform such as WordPress or Magento requires it.
When we’d pick something else
For a new product with complex queries or heavy JSON use, we usually start with PostgreSQL.
Our MySQL services
How we can help.
Upgrade to 8.4 LTS
Compatibility testing, configuration changes and replica-first upgrades from MySQL 8.0 or older.
Slow-query fixes
Analysis of slow-query logs and query plans, followed by index and schema changes.
Managed hosting moves
Moves from self-managed servers to RDS, Aurora, Azure or Cloud SQL, with replication during the switch.
Migration to PostgreSQL
A costed assessment first, then type mapping, repeatable scripts and parallel running if the move goes ahead.
How we work
Starting a MySQL project.
Review what exists
Code, data, hosting and the people who maintain it, before any MySQL decision is made.
Agree the approach
A written scope: what changes, what stays, the risks and how we will know it worked.
Build in reviewable slices
Working increments your team can test, rather than one large delivery at the end.
Hand over or stay on
Documentation and access for your team, or a defined support scope if you want us to keep going.
Where AI fits
AI in data work.
Vector search where your data lives
PostgreSQL with pgvector (including on Supabase and Neon), MongoDB Atlas and Redis can all store embeddings next to your records, so search does not need a separate system.
Knowledge assistants ↗Access rules before retrieval
Row-level security in PostgreSQL limits what an assistant can retrieve to what the signed-in user is allowed to see.
Knowledge assistants ↗
Where it stops: Embeddings are derived from personal data too, so they need the same retention and deletion rules as the records they came from.
What’s changing
Shifts to plan for.
Dates that affect MySQL projects, checked against the official sources.
April 2026
MySQL 8.0 reaches end of life
Oracle moved MySQL 8.0 to Sustaining Support and recommends MySQL 8.4 LTS or 9.7 LTS.
Where it fits
Related expertise.
- APIs & integrations Connect your product to the systems your team relies on, with clear contracts and handled failures.
- Legacy modernisation Replace or rework an ageing system in stages, keeping the business running while it changes.
- Cloud architecture Choose and structure cloud services around your product’s data, access and operating needs.
Common questions
MySQL questions.
We are still on MySQL 8.0. What should we do?
Plan a move to 8.4 LTS. Oracle stopped patching 8.0 in April 2026. We test the application against 8.4, check removed settings and authentication plugins, then upgrade a replica before the primary.
Should we move from MySQL to PostgreSQL?
Only if it pays for itself. Often an upgrade and some query work are enough. When a move is worth it, we map types and queries, migrate with a repeatable script and run both databases side by side until the results match.
Further reading
- MySQL 8.0 has reached end of life: planning the move to 8.4 What MySQL 8.0’s end of life means, and how to plan, test and roll back an upgrade to MySQL 8.4 LTS.
- Firebase, Supabase or a custom back end: how to choose How to choose between Firebase, Supabase and a custom back end by data shape, access rules, cost, exit paths and skills.
- Offline-first mobile apps for people who work without signal How to plan a mobile app that keeps working without signal, and what to settle before the first line of sync code.