Homelab — MySQL Server
An old Ubuntu laptop turned into a Docker-based database server: a persistent environment to practice SQL, data modeling and database administration on the local network.
- 4
- deployment phases
- 24/7
- server uptime
The challenge
Turn an old laptop running Ubuntu into an efficient database server for development and data analysis, using Docker for isolation and portability.
The goal was a local Data Engineering environment able to:
- Host a MySQL database persistently;
- Be reachable from other machines on the network (like a Windows PC);
- Offer a simple management interface for the Docker environment.
Solution and methodology
Four-phase rollout, focused on OS stability, network security and Docker modularity:
- OS preparation — stability and remote access over SSH;
- Docker installation — the virtualization platform;
- DBMS deployment — MySQL 8.0 in a container;
- Management and access — remote connections from Power BI, Python scripts and DBeaver.
Field notes
Two technical hurdles drove most of the learning:
- Connectivity — exposing the container to the LAN meant understanding bind address, port mapping and Ubuntu’s firewall;
- MySQL 8.0 authentication — the new
caching_sha2_passwordplugin broke legacy clients; fixed by adjusting the auth method per user.
Results
A fully functional environment, validated on two pillars: a stable Docker server running 24/7 and structured remote access from any machine on the network.