š GitHub repo: sqltool
If youāve ever spun up a MySQL or MariaDB database for local development, youāve probably gone through one of these:
Pull a heavy Docker image
Run a container that stays running even when you donāt need it
Install a systemāwide service that autoāstarts on boot
Fight with conflicting ports, configs, or leftover data
For something as simple as āI need a database for this project,ā thatās a lot of overhead.
sqltool takes a different approach.
Itās a tiny, singleāfile CLI tool that creates isolated MySQL/MariaDB instances on your machine ā without containers, without systemd services, and without touching your global database installation.
Each project gets its own clean, isolated environment that runs only when you explicitly start it.
š§© What is sqltool?
sqltool is a local MySQL/MariaDB instance manager designed specifically for development workflows. It:
Runs mysqld directly as your user
Creates isolated perāproject instances
Avoids global configuration changes
Keeps everything inside ~/sql/
Works on almost any Linux distribution
Requires no dependencies beyond Perl and MariaDB
Itās ideal for developers working on multiple projects, microservices, or experiments where each environment needs its own database.
⨠Key Features
No containers ā no Docker, no Podman, no images to pull
No system services ā nothing autoāstarts, nothing runs in the background
Isolated instances ā each project gets its own data directory, socket, port, and logs
Simple workflow ā add, start, stop, backup, restore, clone
Multiādistro support ā Debian, Ubuntu, Fedora, Arch, SUSE, Alpine, Void, and more
Singleāfile tool ā just copy it and run
š¦ Requirements
Perl 5 (preinstalled on almost every Linux distro)
MariaDB or MySQL (autoāinstalled if missing)
š Commands Overview
Command Description
add Create new instance
remove Delete instance + data
start Start instance
stop Stop instance
list List all instances
info Show details
port Show port
logs Show recent logs
backup Create SQL backup
restore Restore backup
clone Clone instance
status Quick status
help Show help
š§ Supported Linux Distributions
Autoādetection + autoāinstallation works on:
Debian, Ubuntu, Linux Mint, Pop!_OS, elementary OS
Fedora, RHEL, CentOS, Rocky, AlmaLinux
Arch Linux, Manjaro
openSUSE, SUSE
Alpine Linux
Void Linux
For other distros, just install MariaDB manually.
šŖ Why Perl?
Because for this kind of tool, Perl hits the sweet spot:
Preinstalled everywhere
No dependency hell
Uses only core modules
Fast startup
Perfect for system tasks
Singleāfile distribution
Stable across decades
Many classic Linux tools are still written in Perl or shell for a reason ā theyāre reliable, portable, and easy to maintain.
š License
LGPLā2.1 ā see source file for details.
š¤ Author
Luciano Federico Pereira
Top comments (1)
This tool seems like a clever solution for local development, and I appreciate the clear explanation of its features and benefits. I especially like the emphasis on avoiding the overhead of containers and system services. It's great to see a lightweight option for managing database instances.