Skip to content
MySQL Advisor

MySQL Advisor - MySQL Configuration Analyzer

A configuration analyzer that reads your server output, flags the performance and security issues it finds, and tells you what to change, without ever connecting to your database.

Input console
or
or
or
or
Or collect from a read-only MySQL connection
Collect data from MySQL
CAPTCHA
Automate with the API. Run the same analysis from your terminal or CI. JSON or Markdown, no database access.
About MySQL Advisor

About MySQL Advisor

MySQL Advisor is a MySQL configuration analyzer. You paste in your server's output, and it reads through your settings, flags the performance and security problems it finds, and hands back a prioritized list of what to change, without ever connecting to your database.

It works on MySQL and the databases built on it, and it only reads the text you give it. There's no agent to install, no credentials to hand over, and nothing ever touches your data.

What MySQL Advisor does

Reviewing a MySQL config by hand takes time. A modern server exposes hundreds of variables and runtime counters, and going through them one by one is tedious and easy to get wrong. That's the part this configuration analyzer takes off your plate. It reads the output of SHOW GLOBAL VARIABLES and SHOW GLOBAL STATUS (and, if you have them, the pt-summary and pt-mysql-summary reports from Percona Toolkit), then runs everything through the same kind of checks I'd apply myself on an engagement.

What you get back is a report sorted by severity: Critical, Warning, Info, and OK. Every finding tells you the variable, why it matters, and what to change. Read it here on the page, or export it to HTML, Markdown, or Word when you need to share it with your team.

Since it works on text you paste and not a live connection, it's safe to run against production. Think of it as a quick second opinion, not a stand-in for real workload profiling, load testing, or vendor support. It's good at catching the common misconfigurations and risky defaults that tend to bite you later.

What MySQL Advisor checks

It focuses on the areas where MySQL's defaults tend to bite. These are the settings I find myself checking on almost every review:

  • InnoDB memory:buffer pool sizing, instances, and cache efficiency.
  • Redo log & durability:redo log capacity, flush behavior, and data-safety settings.
  • I/O & concurrency:I/O capacity, thread concurrency, and read/write throughput.
  • Connections & memory:max_connections, per-thread buffers, and total memory footprint.
  • Binary logging & replication:binlog format, retention, and replica consistency.
  • Schema & table health:table cache, open files, and storage-engine consistency.
  • Security:passwordless or anonymous users, remote root, insecure defaults, and SQL modes.
  • Logging & monitoring:slow query log, error log, and Performance Schema usage.
  • OS & hardware:memory pressure, swap, and file-descriptor limits (from pt-summary).
  • Clustering:Percona XtraDB Cluster (Galera) and Group Replication flow control and state.

Why use MySQL Advisor?

  • No installation
  • No agents
  • No credentials
  • No SSH
  • Read-only analysis (safe for production)
  • Version-aware (checks adapt to your version)
  • Export reports (HTML, Markdown, Word)
  • REST API (automate in CI)

Who should use it

These are the people I had in mind while building it, basically the ones I usually end up helping:

  • DBAs picking up a new or inherited server and wanting a fast read on its config.
  • Developers who own their app's database but don't live in MySQL internals all day.
  • DevOps and platform folks keeping config consistent across a fleet, or wiring a config check into CI through the API.
  • Consultants and support engineers who need a review they can hand to a client.
  • Anyone self-hosting or learning, who wants to see how a setting affects performance, durability, or security.

Supported databases and versions

The analyzer is version-aware. It works out the flavor and version from your output and only runs the checks that actually apply to it. Here's what it understands:

  • MySQL:5.6, 5.7, 8.0, and 8.4 LTS, with lifecycle and end-of-life notes.
  • MariaDB:the 10.x and 11.x branches, including LTS-versus-short-term advice.
  • Percona Server for MySQL:including Percona-only features like the thread pool.
  • Percona XtraDB Cluster (Galera):cluster state, flow control, and writeset checks.
  • MySQL Group Replication:single- and multi-primary mode and flow-control settings.

Version matters more than people expect. A setting that's perfectly fine on 8.4 can be a problem on 5.7, and a variable that's been deprecated gets called out on the versions where it no longer belongs.

How recommendations are generated

Under the hood there's a rule engine, about 150 checks split across 19 categories. That covers the InnoDB buffer pool and redo log, I/O and concurrency, connections and per-thread memory, binary logging and replication, schema and table health, security, logging and monitoring, networking, the OS and hardware, PXC/Galera, and Group Replication. Each rule looks at specific variables or status counters, applies a threshold or a comparison, and carries preconditions: a minimum or maximum version, some OS facts it needs, or a cluster feature. If a rule doesn't apply to what you pasted, it's skipped instead of failing, so the report only shows what's relevant to your server. You can also browse the full MySQL variable reference the checks draw on, one page per setting.

I've tried to keep the advice evidence-based rather than dogmatic. Take something subjective like innodb_io_capacity: the analyzer separates a plain informational note from a real warning that's backed by a symptom in your data (buffer-pool free-page stalls, say), and it points you at the metric to confirm before you touch anything. Severity is tiered on purpose, so the things that can actually hurt you (data-durability settings, end-of-life versions, passwordless users) float to the top.

If you'd rather automate it, the same engine is available over a small HTTP API. Send the same read-only output, get back JSON or a Markdown report, and drop it into a CI pipeline or a fleet-wide check. See the API usage guide or request an API key. Everything runs server-side, nothing is stored, and no external calls go out.

Frequently asked questions

What does MySQL Advisor do?

It's a MySQL configuration analyzer. It reads the output of SHOW GLOBAL VARIABLES, SHOW GLOBAL STATUS, and optional Percona Toolkit reports, then hands back prioritized tuning and security recommendations. Analysis runs entirely on the text you give it, with no database connection — and if you'd rather not run the commands yourself, an optional collector can fetch those two inputs for you.

Does it connect to my database?

Not for analysis. There is no agent, no SSH, and no credentials required — you paste read-only diagnostic output and the analysis runs on that text.

Separately, there is an optional collector. It only runs if you fill in its form and click Collect Data. When you do, the host and read-only credentials you enter are sent to the MySQL Advisor server, and the database connection is opened from there, not from your browser. It runs only SHOW GLOBAL VARIABLES and SHOW GLOBAL STATUS — no writes, locks, schema changes, or table data — and the credentials are discarded after that one request, never stored or logged. The target must be reachable from the public internet. If you'd rather no credentials leave your network, paste the output instead; the report is identical. See the privacy policy for details.

Which databases and versions are supported?

MySQL and MariaDB, plus Percona Server, Percona XtraDB Cluster (Galera), and Group Replication. It is version-aware, covering MySQL 5.6, 5.7, 8.0 and 8.4 LTS, and MariaDB 10.x and 11.x, and adapts its checks to the detected version.

How are the recommendations generated?

A rule engine of about 150 heuristic checks across 19 categories evaluates your variables and status counters, gated by the detected flavor and version. Each finding includes a severity, the variable, the reasoning, and a recommendation.

Is it safe to use on production servers?

Yes. The inputs are read-only commands and reports. The analyzer processes data server-side, stores nothing, and makes no external calls, so it is safe to run against production systems.

Is there an API?

Yes. The same analysis is available over a REST API that returns JSON or a Markdown report, useful for CI pipelines and fleet-wide checks. See the API usage guide or request an API key.

Why MySQL Advisor?

I'm Kedar, a MySQL consultant. I kept doing the same first-pass config review by hand on every engagement, so I built MySQL Advisor to handle that boring first pass for me. It runs the same kind of checks I'd run myself, packaged so anyone can get to them in a few seconds.