Production checklist
MySQL / MariaDB production checklist: 6 checks before launch
6 checks for running MySQL / MariaDB in production: 1 must-do, 4 should-dos and 1 good-to-have. Each one says why it matters, how to verify it and where the docs are.
Updated . Every check links the vendor’s own docs.
Must do (1)
Automated backups with binary logs for point-in-time recovery
Lets you restore to just before a bad migration or deletion.
Verify with SQL
log_bin should be ON and binary logs should be listed; check your backups keep them. Restore into a scratch server once.
SHOW VARIABLES LIKE 'log_bin'; SHOW BINARY LOGS;
Should do (4)
Require encrypted connections
Credentials and data otherwise cross the network in plain text.
Verify with SQL
require_secure_transport should be ON, so the server refuses unencrypted connections.
SHOW VARIABLES LIKE 'require_secure_transport';
Give the app user only the privileges it needs
Limits what an injection bug can do.
Verify with SQL
Run this as the app’s user. A pass: privileges on the app’s own database only, with no ALL PRIVILEGES ON *.*, SUPER or GRANT OPTION.
SHOW GRANTS FOR CURRENT_USER();
Remove anonymous accounts and the test database
Default installs can ship with an anonymous user and a
testdatabase anyone can write to.Verify with SQL
Both queries should return no rows.
SELECT user, host FROM mysql.user WHERE user = ''; SHOW DATABASES LIKE 'test';
Keep MySQL off the public internet
Port 3306 open to the world invites password guessing and lets any server exploit reach it.
Verify with SQL
bind_address should be a private address, not 0.0.0.0 or *. On a managed service, the instance shouldn’t be publicly accessible. From outside your network, a connection to port 3306 should time out.
SHOW VARIABLES LIKE 'bind_address';
Good to have (1)
Turn on the slow query log
Shows the queries that will fall over first as tables grow, before users notice.
Verify with SQL
slow_query_log should be ON with a long_query_time that suits your app (for example 1 second).
SHOW VARIABLES LIKE 'slow_query_log%'; SHOW VARIABLES LIKE 'long_query_time';
Get the checklist for your whole stack
Design your stack or map your repo in StackPrism, and the Improve panel lists the checks for every technology on it and keeps track of what you’ve done. Building with an AI app builder? Start with the vibe coding checklist.