MySQL
The most widely deployed open-source database.
MySQL is taught here in 14 lessons, running from Installation, databases, users and engines through to Next steps: managed MySQL, Aurora and cloud operations. Each lesson takes one topic, shows the working code, and links onward to the next, so the course can be read straight through in order.
| Track | Databases |
| Lessons | 14 |
| Level | Beginner to intermediate |
| Reading time | about 3 hours |
| Prerequisites | Helpful, but not required: SQL |
Lessons
- Installation, databases, users and enginesGet a server running, create a database and a least-privilege account, and know which storage engine is actually holding your rows.
- Indexes and reading EXPLAINComposite column order, covering indexes, and how to turn a query plan into a concrete fix instead of a guess.
- Replication, backup and operational pitfallsBinary logs, replicas, restorable dumps, and the failure modes that only appear after a few months in production.
- Data types, tables and constraintsPick numeric, string and temporal types that behave correctly under sorting and summing, and let keys, defaults and constraints enforce rules you would otherwise enforce in application code.
- Querying data: SELECT, joins and aggregationFilter and order rows, choose the right join for the question you are asking, and group results without letting ONLY_FULL_GROUP_BY or a multiplied join quietly change the answer.
- Writing data safely: DML and transactionsInsert, update and delete without losing rows you meant to keep, and use transactions, savepoints and the right upsert form to keep concurrent writers consistent.
- Connecting from applications: drivers and poolingUse prepared statements and a connection pool correctly, set the session settings that silently change your data, and retry only the errors that are worth retrying.
- Advanced indexing: composite, covering and FULLTEXTOrder composite indexes deliberately, make hot queries covered, and reach for prefix, functional, invisible and FULLTEXT indexes when a plain B-tree is not the right shape.
- Views, stored procedures, functions and triggersPackage queries as views, orchestrate multi-step work in routines, and decide honestly whether a trigger belongs in the database or in the application.
- JSON, generated columns and window functionsStore and query semi-structured data, promote extracted values into indexable columns, and replace self-joins and correlated subqueries with window functions and CTEs.
- Query optimisation and diagnosticsFind the queries that actually cost time, read plans and hints without guessing, and know which server settings matter more than any query rewrite.
- User management, privileges and securityCreate accounts with the narrowest scope that works, enforce encryption in transit, and rotate credentials before an incident forces you to.
- High availability, Group Replication and upgradesChoose a topology that matches your real recovery target, run a quorum-based cluster, and upgrade a live deployment without turning a version bump into an outage.
- Next steps: managed MySQL, Aurora and cloud operationsUnderstand what a managed service does and does not take over, tune it through parameter groups and replicas, and keep the bill and the alerts under control.
More in Databases
SQL PostgreSQL MongoDB Redis SQLite
FAQ
How long does the MySQL course take?
It has 14 lessons, about 3 hours of reading. Expect roughly twice that if you type out and run every example.
Do I need prior experience for MySQL?
Not strictly. It helps to have read SQL first, because some lessons build on it, but every lesson explains its own assumptions.
What should I read after MySQL?
Continue with PostgreSQL (13 lessons), the next course in Databases.