Free, open-source training in database reliability engineering, built on labs you run on your own laptop. By MoiToi.TECH.
MySQL 8.4 LTS · 10 modules · about 13–15 hours · free
Learn to run MySQL in production by fixing real faults on a real server: a blocked checkout, a slow query, a broken replica, a deleted table, a server that refuses connections or will not start. Every exercise is checked by a script, so you know when you have actually solved it.
| # | Module | Exercise |
|---|---|---|
| 1 | Architecture and MySQL internals | Trace a connection, a change and a table through the server |
| 2 | Installation, configuration and secure access | Undo configuration drift; build a least-privilege account |
| 3 | InnoDB transactions, MVCC and locking | Find and clear the session blocking checkout |
| 4 | Execution plans and indexing | Design the index a dashboard query needs |
| 5 | Performance diagnostics and slow queries | Find the statement eating the server under live load |
| 6 | Backup, restore and data integrity | Point-in-time recovery around an accidental DELETE |
| 7 | Replication and high availability | Fix replication lag; repair a broken replica |
| 8 | Monitoring and observability | Write the alert that should have fired |
| 9 | Incident response and troubleshooting | Too many connections; a server that will not start |
| 10 | Final challenge | Three simultaneous faults and a post-incident review |
One production incident each, solvable in under an hour on your laptop without taking the course. The briefing is spoiler-free; the explanation lives in a separate instructor guide. All challenges: challenges/README.md.
Challenge #001: The database is slow. Nobody changed anything. Your production database is slow. Can you figure out why?
MySQL 8.4 · intermediate · 20–40 minutes · free
Linux system administrators, junior DBAs, backend developers, DevOps engineers and SREs who look after MySQL, or are about to. You need a terminal, basic SQL and Docker. No DBA experience is assumed.
You need Docker with Compose v2 (Docker Desktop, OrbStack, Colima or Docker Engine) and about 4 GiB of memory for Docker. amd64 and arm64 (Apple silicon) both work; on Windows, use WSL 2.
git clone https://github.com/MoiToiTech/dbre-academy.git
cd dbre-academy/labs
./lab doctor # checks Docker, memory and ports
./lab up # first run builds the lab image: ~2 minutes
./lab sql # you are now root on the primaryThen open module 1.
./lab status # what is running, is replication healthy
./lab scenario setup 04-missing-index # inject an exercise's fault
./lab check 04-missing-index # did you fix it? exit code 0 = yes
./lab scenario reset 04-missing-index # put everything back
./lab reset # start completely fresh (~30 s)
./lab destroy # remove containers and data
./lab up --observability # add Prometheus and GrafanaPorts bind to 127.0.0.1 only. Requirements, credentials, the dataset and
troubleshooting: labs/README.md.
There are no accounts and nothing is tracked. Your progress is the list of
./lab check commands that pass on your machine; the course README has a
checklist.
A passing check prints a link to share it on LinkedIn: self-reported, no
spoilers, and nothing is sent anywhere unless you post it.
The repository verifies itself the same way. On every change, CI starts the lab from scratch on amd64 and arm64, runs every exercise's fault, check, reference fix and reset, executes every command the lessons tell you to run, and tears everything down.
- Something does not work as the lesson says: open a lab issue.
- A technical claim is wrong or outdated: open a content correction.
- Want to add a scenario or improve a lesson: read CONTRIBUTING.md and docs/authoring.md.
The roadmap plans an advanced MySQL in Production course and a TiDB Reliability Engineering course. Neither exists yet. The curriculum explains how the first course was designed, and research.md the benchmark behind it.
| What | Licence |
|---|---|
Course and challenge text: courses/, challenges/, docs/ |
Creative Commons Attribution 4.0 |
Code: labs/, .github/, scripts (including the challenge tooling in challenges/) |
Apache License 2.0 |
The MoiToi.TECH name and logo are not covered by either licence.
MoiToi.TECH — We build useful technology systems. · https://moitoi.tech · connect@moitoi.tech