Toolkit v1.0.0

15,931 MyISAM tables.
23.6 million temp tables.

default-storage-engine = MyISAM

One production cPanel server. Nobody had looked at the config in years.

Nine command-line tools for MySQL and MariaDB disaster recovery, written on a live cPanel server with 200+ sites offline. Runs in place, over SSH. Your data never leaves the machine.

$199 · one-time · unlimited servers · instant download

No agent, no phone-home, no account required Runs on the server — nothing to export, nothing to upload MySQL 5.7+ / MariaDB 10.2+ · cPanel & DirectAdmin

MySQL 5.7+ or MariaDB 10.2+ (dialect detected at runtime, no separate build). Developed and tested on MySQL 8.0/8.4 and MariaDB 10.5–11.x; older versions are supported through explicit version gates and fallbacks.

A hosting company bought a server overnight without doing the usual checks. By the time it reached me, 200+ sites were offline. The previous owner had failed a MySQL upgrade, tried to fix it manually, and left four partial backups behind. The mysql.user table was gone entirely.

Level 3 didn't know where to start. I'd rebuilt corrupted database servers three times before at my own hosting company, by hand, and I knew immediately this wasn't a job for manual labour. So I automated it. These are the tools that came out of that night.

Every database came back except two. Those two clients had no backups of their own. The previous owner had already left the hosting industry — he couldn't fix his own database server, and that was the end of his business.

What that kind of server actually looks like

Not a mock-up and not a marketing render. This is what I was reading at the time.

MySQL performance dashboard: MariaDB 10.6.20, 148 peak connections, 13,165 InnoDB tables, 15,931 MyISAM tables, 901 slow queries, 23,619,450 temp tables, 4480M buffer pool, 350 max connections, 47 access-denied errors.
From my own diagnostic notes on that job, August 2025. This report is not part of the toolkit — the tools below are what fixed what it found.

Twenty-three million temp tables is not a tuning problem. It is what a server does when more than half its tables are still MyISAM and the joins have nowhere to go but disk. That box was one of 66 production servers I worked through over ten days in October 2025.

Nine tools, grouped by the moment you need them

Eight bash, one Python. Every one of them self-documents with --help.

When the server is already broken

Every tool here is read-only or dry-run by default. Running one cannot make your situation worse.

tablespace-medic

Finds missing and discarded .ibd, .frm and .MYD files and restores them from whatever backup you have. Does the proper InnoDB route — discard, place the file, import — not just a copy and a prayer.

inno-healer

Repairs corrupt tables. Picks the method per table — REPAIR TABLE where the engine actually supports it, a full rebuild where it doesn't — and escalates on its own if a repair leaves the table still broken.

user-recovery

The morning after: the data files survived, the grant tables did not, and nobody has the passwords. Rebuilds every user, database and grant by harvesting credentials from the application configs already on the box — WordPress, Joomla, Drupal, Magento and Laravel.

mysql-access

Accounts, grants and credential audit. Resets the root password when you are locked out, and its --fix is deliberately timid: it drops anonymous accounts and locks empty-password ones, and reports everything else for you to decide on.

When it's slow and you don't know why

Both read-only. Nothing in this group modifies the server.

slow-query-doctor

Goes from “slow logging isn't even on” to “this query is the problem”. Turns logging on, analyses what's there, captures live during an active crisis, and has a WHMCS-specific mode for the queries that particular schema is famous for. Uses pt-query-digest when installed, and its own parser when it isn't.

mysql-vitals

Health snapshot, repeating pulse view, storage broken down by database and table, and a scan of what is running right now. JSON output and a --warn-over threshold for cron.

Before it breaks

The work that stops you needing the red group at all.

innodb-migrator

Batch MyISAM → InnoDB across thousands of tables and hundreds of accounts. Disk-space precheck before every batch, a backup of each table before it is touched, automatic rollback on failure, a resume file if you stop halfway, and email reports. Reports unless you pass --migrate.

mysql-maintenance

Optimize and analyze with a minimum-reclaim threshold so you aren't rebuilding tables for nothing, safe binlog purging, and an index review that reports what is genuinely wrong — no primary key, a foreign key with no supporting index, duplicates. It does not recommend an index on every column.

mariadb-dumper

Nightly backups with retention, dry-run, and cron-ready output. Prefers mariadb-dump, falls back to mysqldump, and never puts the password anywhere ps aux can read it.

The tools share one library, so there is a single copy of the helpers to keep correct. A dist/ directory also ships self-contained builds with that library inlined — for when you just want to scp one script to one box at 2am.

How it compares

The difference that matters isn't the price. It's where your data has to go.

Steadfast MySQL Toolkit compared with Stellar Repair for MySQL and Releem
MySQL Toolkit Stellar Repair for MySQL Releem
Price $199 one-time $199/year (Toolkit tier $499/yr) ~$11/instance/month
Servers Unlimited Per licence Per instance
Runs where On the server, over SSH Copy your data directory to a Windows PC Agent on server, data to their cloud
Data leaves the box Never Yes — you move it yourself Schema, table names, query stats
MyISAM → InnoDB migration Yes, batch + rollback No No
Renewals None. Ever. Annual Monthly

Their Linux recovery procedure is to copy your MySQL data directory onto a Windows machine. On a live cPanel box with 200 sites down, that isn't a solution.

The four things you're wondering

“Will this break my production data?”

Every destructive tool is dry run by default. You opt in with --no-dry-run, and four of them will write the SQL to a file instead so you can read it first. The migrator backs up each table before touching it and rolls back automatically on failure.

Two deliberate exceptions, both stated in the README: the backup tool runs (a backup isn't destructive — use --dry-run to preview it), and the migrator reports unless you pass --migrate.

“I've got 40 servers.”

One licence, unlimited servers within your organisation, forever. No seat counting, no activation server, no phone-home, no licence key to manage. Put it on all 40 tonight if you want to — there is nothing to check in and nothing that can lock you out of your own recovery tools during an incident.

“What if I need to stop halfway?”

The migrator writes a resume file, so you pick up where you stopped rather than starting the scan again. Batch size, pause between batches, failure limits and disk thresholds are all configurable, and it re-checks disk headroom at the start of every batch. Built for a busy shared box, not a lab.

“Python dependency?”

Eight of the nine tools are pure bash. The migrator is Python because bash couldn't handle the concurrency — real overnight migrations finished in a couple of hours in Python where bash took substantially longer and was less reliable. It is standard library only, so there is nothing to pip install.

Not sure you need this yet?

Run the free MySQL Auto-Tuner first. If it reports a high MyISAM table count, elevated temp tables, or a default-storage-engine = MyISAM config, this toolkit is what fixes what it found.

The toolkit deliberately ships no tuner of its own. Tuning is the free tool's job.

One price. Every server. Forever.

One-time. No subscription, no renewals, all v1.x updates included.

Steadfast MySQL Toolkit

All nine tools.

$199 one-time
  • Unlimited servers within your organisation
  • Perpetual licence — yours forever
  • All v1.x updates included
  • Source-available — read and modify every line
  • No licence key, no activation, no phone-home
MIGRATION KIT

DNS + MySQL Bundle

Both toolkits, one purchase.

$279 $378 one-time
  • Everything in the MySQL Toolkit
  • Steadfast DNS Toolkit — $179 on its own
  • Same terms — unlimited servers, perpetual
  • Saves $99 against buying them separately

Everything for a control-panel migration: move the zones, convert the engines, and rescue the database server if it goes wrong.

Source-available under a perpetual licence — read every line and modify it for your own use, but not for redistribution or resale. Full licensing terms.

“Steadfast Tools exists for small hosts, one-man hosting companies, and sysadmins — whether you're just starting out or you're 40+ and running on fumes. These are the tools I wish I'd had.”

— Rudi Burger, 25 years of hosting infrastructure, Steadfast Codeworks

Steadfast MySQL Toolkit

One-time. Unlimited servers. Instant download. No renewals.