MYSQLTUNER(1)

NAME
 MySQLTuner 2.9.2 - MySQL High Performance Tuning Advisor for MySQL, MariaDB, and Percona Server

SYNOPSIS
mysqltuner [OPTIONS]

  # Basic local execution using standard unix socket
  perl mysqltuner.pl

  # Remote TCP/IP connection with explicit credentials and forced memory sizing
  perl mysqltuner.pl --host 192.168.1.50 --port 3306 --user root --pass secret --forcemem 16G

  # Containerized database analysis via Docker/Podman
  perl mysqltuner.pl --container production_mysql_1 --user root --pass secret

  # Generate comprehensive interactive HTML diagnostic dashboard
  perl mysqltuner.pl --reportfile /var/www/html/tuner_report.html

  # Export schema markdown documentation per database
  perl mysqltuner.pl --schemadir /opt/db_docs/

  # AI Agent integration output (actionable JSON remediation plan)
  perl mysqltuner.pl --agent-json

IMPORTANT USAGE GUIDELINES

•   Production Stability: Run the script without modifying arguments first to review recommendations before applying changes.

•   Representative Workload: Allow your database server to run under normal production load for at least 24 to 48 hours before trusting metric ratios and sizing advice.

•   Privilege Requirements: Administrative read-only access ("SELECT", "PROCESS", "SHOW DATABASES", "REPLICATION CLIENT") is required for exhaustive diagnostics.

•   Remote Host Hardware Sizing: When connecting over TCP/IP or SSH to remote instances, specify host RAM via "--forcemem" (e.g., "--forcemem 32G") to ensure accurate buffer sizing recommendations.

OPTIONS

  Connection and Authentication Options

--host hostname
    Connect to remote MySQL/MariaDB server via TCP/IP hostname or IP address.

--port port
    TCP/IP port number to connect to (default: 3306).

--socket socket_path
    Path to local UNIX domain socket for database communication.

--user username
    Database username for authentication.

--password password, --pass password
    Database password for authentication.

--ask-pass
    Prompt interactively for database password on the terminal.

--defaults-file path
    Path to a custom MySQL configuration file (e.g., "~/.my.cnf").

--defaults-extra-file path
    Path to an additional configuration file to read after standard defaults.

--login-path path
    Read credentials from MySQL encrypted login path (via "mysql_config_editor").

--mysqlcmd path
    Path to custom "mysql" client binary.

--mysqladmin path
    Path to custom "mysqladmin" binary.

--tli
    Use Transport Layer Interface abstraction.

--ssl-ca path
    Path to SSL Certificate Authority (CA) certificate.

--caching-sha2-password
    Force caching_sha2_password authentication plugin mode.

  Target Environment and Cloud Discovery Options

--container container_name_or_id
    Execute diagnostics inside a running Docker or Podman container.

--ssh-host hostname
    Execute diagnostics over SSH remote transport.

--ssh-user username
    SSH login username.

--ssh-key path
    Path to SSH private key file.

--ssh-port port
    SSH daemon port (default: 22).

--aws-profile profile
    AWS CLI profile for Amazon RDS / Aurora cluster discovery.

--aws-region region
    AWS Region for RDS / Aurora discovery.

--aws-cluster-identifier id
    Amazon RDS / Aurora cluster identifier.

--aws-instance-identifier id
    Amazon RDS instance identifier.

--gcp-project project_id
    Google Cloud project ID for Cloud SQL instances.

--gcp-instance instance_id
    Google Cloud SQL instance identifier.

--azure-resource-group group
    Azure resource group for Azure Database for MySQL.

--azure-server-name name
    Azure MySQL flexible/single server name.

  Performance and Diagnostic Tuning Options

--forcemem size
    Amount of physical RAM installed in host (e.g., "16G", "1024M", "128K").

--forceswap size
    Amount of configured swap space on host (e.g., "4G", "2048M").

--skipworkload
    Bypass high-cardinality table churn and auto-increment exhaustion checks.

--skippassword
    Skip offline dictionary checks for weak user passwords.

--skipsize
    Skip table size enumeration queries on "information_schema".

--buffers
    Print detailed per-buffer memory allocations.

--cvefile path
    Path to custom CVE vulnerabilities CSV database file.

--passwordfile path
    Path to custom dictionary file for password audits.

--checkversion
    Check for upstream MySQLTuner version updates.

--nondedicated
    Adjust tuning formulas assuming the host runs non-database workloads.

--noprocess
    Skip OS-level non-mysqld process enumeration.

  Output and Export Options

--verbose, -v
    Activate full verbose output including storage engines and table statistics.

--silent
    Suppress standard console output.

--outputfile path
    Save console report to plain text file.

--reportfile [path]
    Generate interactive self-contained HTML diagnostic dashboard.

--json
    Output raw diagnostic results as a JSON string.

--prettyjson
    Output diagnostic results as formatted, indented JSON.

--agent-json
    Output actionable AI remediation schema with SQL/config fixes and rollback statements.

--yaml
    Output diagnostic metrics in YAML format.

--dumpdir path
    Dump diagnostic data files and Markdown schema summaries to target directory.

--schemadir path
    Export individual Markdown documentation files with Mermaid ER diagrams per schema.

--nocolor
    Disable ANSI color codes in terminal output.

--noprettyicon
    Use plain text markers ([OK], [!!], [--]) instead of Unicode icons.

--stage-timings
    Display execution duration for each analysis stage.

  Debugging and Filtering Options

--debug
    Print internal debug traces and SQL query payloads.

--dbgpattern regex
    Filter debug messages by regular expression pattern.

--nobad
    Suppress negative findings and warning recommendations.

--nogood
    Suppress positive / passing health checks.

--noinfo
    Suppress informational messages.

VERSION
Version 2.9.2

PERLDOC
You can inspect the embedded manual with the perldoc command:

  perldoc mysqltuner.pl

  INTERNALS
<https://github.com/jmrenouard/MySQLTuner-perl/blob/master/INTERNALS.md>

 Internal documentation

AUTHORS
Major Hayden - major@mhtx.net Jean-Marie Renouard - jmrenouard@gmail.com

CONTRIBUTORS

•   Matthew Montgomery

•   Paul Kehrer

•   Dave Burgess

•   Jonathan Hinds

•   Mike Jackson

•   Nils Breunese

•   Shawn Ashlee

•   Luuk Vosslamber

•   Ville Skytta

•   Trent Hornibrook

•   Jason Gill

•   Mark Imbriaco

•   Greg Eden

•   Aubin Galinotti

•   Giovanni Bechis

•   Bill Bradford

•   Ryan Novosielski

•   Michael Scheidell

•   Blair Christensen

•   Hans du Plooy

•   Victor Trac

•   Everett Barnes

•   Tom Krouper

•   Gary Barrueto

•   Simon Greenaway

•   Adam Stein

•   Isart Montane

•   Baptiste M.

•   Cole Turner

•   Daniel Lewart

•   Jason Gill

•   Jean-Marie Renouard

•   Major Hayden

•   Matthew Montgomery

•   Stephan GroBberndt

•   Christian Loos

•   Long Radix

•   derZ-dev

SUPPORT
Bug reports, feature requests, and downloads at http://mysqltuner.pl/

Bug tracker can be found at https://github.com/jmrenouard/MySQLTuner-perl/issues

Maintained by Jean-Marie Renouard (jmrenouard\@gmail.com) - Licensed under GPL

SOURCE CODE
<https://github.com/jmrenouard/MySQLTuner-perl/>

 git clone https://github.com/jmrenouard/MySQLTuner-perl/.git

COPYRIGHT AND LICENSE
Copyright (C) 2006-2026 Major Hayden - major@mhtx.net # Copyright (C) 2015-2026 Jean-Marie Renouard - jmrenouard@gmail.com

For the latest updates, please visit http://mysqltuner.pl/

Git repository available at https://github.com/jmrenouard/MySQLTuner-perl/

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.