- MySQL – Connections, URLs and Pooling
How an application actually talks to MySQL. Reading a JDBC URL parameter by parameter, why `serverTimezone` and `allowPublicKeyRetrieval` exist and when you need them, connection pooling with HikariCP and how to size a pool, `wait_timeout` and the stale-connection errors it causes overnight, and `max_connections` — the limit you meet on a bad day rather than a good one.
- AWS – IAM: Policies, Roles and Least Privilege
IAM is the service you get wrong first and it is the one that matters most. The five parts of a policy document, the difference between an identity policy and a resource policy — and why an S3 bucket needs both — roles versus users and why your code should never hold a key, and how a deny always wins. Ends with the real bucket policy that lets exactly one CloudFront distribution read this site and nothing else.
- MySQL – Install and Connect
Getting a server you can type into. One `docker compose up -d` for a throwaway MySQL 8.4, why the demo publishes 3308 instead of 3306, installing the client on macOS, Linux and Windows, connecting with `mysql` and with a GUI, the healthcheck that stops your app racing the database, and loading the pizza schema so the rest of the track has something to query.
- MySQL – Get Started
Start here. What MySQL is and where it fits against Postgres and SQLite, why 8.4 is the version to learn and what LTS means for it, InnoDB and why the storage engine is a choice you no longer have to make, the pizza-ordering database every query in this track runs against, and the full lesson index in reading order.
- AWS – Stop an RDS Instance on a Schedule with Lambda
Stopping RDS saves the instance hours but not the storage, and it does not last: AWS restarts any instance that has been stopped for seven days. That single fact is why a stop-on-a-schedule Lambda is a schedule and not a one-off click. The handler, the seven-day trap and how to notice it, and the difference between stopping an instance and stopping an Aurora cluster.