Run a health check on a production MySQL or MariaDB database to get a weighted score and prioritized list of tuning recommendations.
Check your database for known CVE security vulnerabilities without making any changes to the server.
Estimate future disk and memory needs based on your database's current growth trends before you hit capacity problems.
Audit a cloud-hosted database on AWS RDS, Google Cloud SQL, or Azure to confirm it is correctly configured.
Run only after the database has been live for at least 24 hours, statistics on a freshly restarted server are not meaningful and recommendations will be misleading.
MySQLTuner is a single Perl script you run against a live MySQL database to get a quick health check and a list of configuration recommendations. It does not change anything automatically. It connects to your database, reads its current settings and usage statistics, and then prints a report suggesting where you might adjust things to improve speed or stability. The script checks around 300 different indicators covering areas like memory usage, how the database stores and retrieves data, replication setup, and security settings. It produces a weighted health score that gives you an overall sense of how well-configured your database is, similar to a checkup score from a doctor's visit. It can also flag known security vulnerabilities by checking against the CVE database, warn you about risks when upgrading to a newer database version, and estimate future disk and memory needs based on current growth. MySQLTuner works with MySQL, MariaDB, and Percona Server, including cluster and replication setups. It also supports databases hosted on cloud platforms like AWS RDS, Google Cloud SQL, Azure, and DigitalOcean. Windows support is partial, Linux and other Unix-like systems are fully supported. The script requires Perl 5.6 or later and read-level access to the database. One important caution from the README: the script should only be run after the database has been running for at least 24 hours. On a freshly restarted server, the usage statistics have not accumulated enough for the recommendations to be meaningful. The README also strongly advises testing any configuration changes on a staging environment first, because improving one area of a database can sometimes slow down another. The project is actively maintained and licensed under GPL-3.0. Installation is simple: download the script with a single command, optionally fetch a password-list file used for security checks, and run it with Perl. Docker images are also available for those who prefer containerized tools.
← major on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.