Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

MySQLTuner is a read-only Perl diagnostic script. It inspects uptime, counters, configuration, logs, workload indicators, storage engines, replication and operating-system conditions, then prints warnings and tuning suggestions. It does not edit my.cnf, change variables or restart MySQL. Use each suggestion as a hypothesis: collect a representative baseline, verify the underlying bottleneck in MySQL and your monitoring, change one related setting at a time, and keep it only when measured performance improves without exhausting memory or reducing reliability.

What MySQLTuner can—and cannot—do

MySQLTuner examines a running MySQL-compatible server and turns status counters into a report. Its documented checks include operating-system metrics, server version, error logs, cloud infrastructure, storage engines, connections, performance counters, replication, Performance Schema and schema modeling. The output is useful for finding questions to investigate, not for generating a configuration file that can be pasted into production.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The project FAQ describes it plainly: “MySQLTuner is a read only script.” A normal run therefore cannot alter data, write configuration files or restart a service. Read-only does not mean risk-free, however. A careless change made after reading a warning can increase per-connection memory, create swapping, increase disk I/O, affect replication or weaken crash-recovery guarantees. The safe part is the inspection; the engineering judgment still belongs to you.

MySQL, MariaDB and Percona Server expose different variables and defaults by release. A recommendation that is valid for one version, storage engine or deployment may be invalid for another. Managed services and containers can also hide host-level memory and operating-system controls. Always check the exact server documentation before changing a variable.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

Prepare a baseline before you run the report

A report is meaningful only when you can compare it with the workload and capacity it describes. Record the following before making any change:

  • Exact server product and version, including distribution or vendor build.
  • Server uptime and the time window represented by your monitoring data.
  • Total host RAM, CPU count, storage type, available disk space and whether the database shares the machine with other services.
  • Current global and important session settings, including buffer, connection, temporary-table, sort, join, InnoDB and redo/log variables.
  • Active and maximum connections, connection churn, aborted connections and thread-cache behavior.
  • Application response-time percentiles, throughput, error rate, lock waits and queue depth.
  • Error and slow-query logs, including their retention period and current sampling or thresholds.
  • Replication role and topology, replica lag, binary-log settings and any failover constraints.
  • Storage-engine usage, largest tables, index definitions and recent schema or deployment changes.

For a remote server, make the host’s memory visible to the script with its --forcemem option. Otherwise, a client-side run can lead to a misleading assessment of available RAM. The Debian manpage identifies SELECT, PROCESS, SHOW DATABASES and REPLICATION CLIENT as relevant privileges for exhaustive checks. Grant only what your security policy permits, and understand which checks will be skipped when a restricted account is used.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run MySQLTuner without changing anything

  1. Run the script against the intended server using its normal read-only account. On a host where the script is present, invoke the Perl script directly; for a remote target, provide the connection details and host-memory information required by your deployment.
  2. Save the complete first report with a timestamp. Keep the raw output, the server version and the configuration snapshot together so later comparisons are unambiguous.
  3. Read the recommendations before applying anything. The project usage guidance explicitly separates reviewing the report from making changes.
  4. Note warnings that are informational, such as an unsupported feature, a skipped privilege check or a version notice. Do not treat every colored line as a performance defect.

Run it first with default options. Additional checks can be useful later, but changing invocation options between runs makes trend comparisons harder. Do not use a report from a freshly restarted instance to size buffers or judge hit ratios.

Wait for representative uptime

The project README says to wait at least 24 hours of uptime for accurate results and calls a run immediately after a restart “completely useless.” Treat 24 hours as a minimum, not a guarantee. A database with weekly batch jobs, month-end reporting, seasonal traffic or infrequent failovers needs a window that includes those events; many operations teams use 24–48 hours or a complete normal busy cycle.

Uptime matters because many counters are cumulative. A ratio calculated after ten minutes can be dominated by startup activity, cache warming or a single connection burst. Before trusting a ratio, identify its numerator, denominator and reset behavior. Ask whether the denominator represents enough queries, transactions, connections or table operations to describe normal work. Record planned maintenance and unusual incidents in the report notes.

Turn each recommendation into a testable question

Do not read a suggested value as a universal target. For every line, write down the observed symptom, the variable or object involved, the version-specific rule that applies and the result that would prove the change useful. Check whether the setting is global or session-scoped, dynamic or restart-required, and whether a change affects new sessions only.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
  • Symptom: What counter, latency pattern, log message or resource measurement triggered the advice?
  • Type of measurement: Is it a rate, a cumulative count, a percentage or a ratio? Is the denominator meaningful after the observed uptime?
  • Capacity: What is the worst-case memory use at the configured maximum concurrency, including per-thread allocations and application connection pools?
  • Trade-off: Could the setting exchange CPU for I/O, increase write latency, alter lock behavior, affect replica lag or reduce crash-recovery safety?
  • Version behavior: Does this exact MySQL, MariaDB or Percona release support the variable, range and dynamic change mode?
  • Alternative cause: Could a query plan, missing index, schema design, storage latency or application connection pattern explain the same symptom?

The MySQL optimization model is broader than server variables: database performance depends on tables, queries and configuration settings together. Use slow-query evidence, EXPLAIN or EXPLAIN ANALYZE where supported, index inspection, buffer-pool and I/O metrics, and application response-time data before deciding that a configuration change is the right intervention.

How to evaluate common recommendation classes

Report area What it may indicate Evidence to collect before changing anything
Memory and buffers Insufficient cache, high allocation or a host approaching capacity Working-set size, total global allocation, per-connection worst case, swap activity, free RAM and concurrency
Connections and thread cache Connection churn or an undersized cache Connection rate, aborted connections, pool behavior, active sessions and application timeouts
Temporary tables, sorts and joins Intermediate results spilling to disk or expensive query operations Queries causing spills, result-set sizes, execution plans, disk latency and concurrent session count
InnoDB and redo/log settings Working-set pressure, checkpoint pressure or write-intensive behavior Read/write mix, buffer-pool residency, dirty pages, checkpoint age, redo capacity, flush latency and recovery requirements
Tables, indexes and OPTIMIZE notices Fragmentation, inefficient access paths or schema maintenance needs Engine behavior, table and index statistics, locking impact, table size and a maintenance window
Slow queries and schema Query or data-model work that a variable cannot fix Plans, predicates, cardinality, index selectivity, rows examined and end-to-end latency
Replication and version Lag, unsupported releases or operational risk Replica status, topology, release support policy, failover objectives and change sequencing
Security and operating system Exposure, privilege gaps or host-level constraints Supported-version status, least-privilege review, TLS and credential controls, swap and disk health

“Add RAM before increasing buffers”

This wording is a capacity warning, not a command to buy memory or to raise a buffer immediately. Global allocations consume memory once; many sort, join, read and temporary-table buffers are allocated per connection or per operation. Multiplying a proposed per-thread value by realistic and worst-case concurrency can reveal an out-of-memory or swapping scenario that a simple hit ratio hides.

Measure resident memory, swap-in activity, allocation failures and concurrency during the busiest period. If the host is already near its limit, reducing connection concurrency, fixing connection leaks or improving a query may be safer than enlarging a buffer. Size the database together with the operating system, monitoring agents, backup tools and any colocated services.

InnoDB buffer pool and redo or log suggestions

Confirm that the working set is larger than the current cache or that reads are waiting on storage. A high or low hit percentage alone does not prove a bottleneck. Examine buffer-pool residency, dirty-page behavior, checkpoint pressure, write volume, storage latency and the recovery time you can accept after a crash. Larger redo capacity can reduce checkpoint pressure in some write patterns, but it also changes recovery work and must fit the exact release’s limits and durability semantics.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use the version-specific manual to determine whether a variable is dynamic, which units it uses and whether a restart is required. Test under production-like write load; a read-heavy staging test cannot validate a redo or flush change.

Temporary tables, sorts and joins

A disk-based temporary table or a large sort is a symptom to investigate, not proof that all related limits should be raised. Find the statements creating the intermediate result, inspect their plans and estimate the result size. An index, a narrower projection, a better predicate or a query rewrite can remove the work entirely.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

If memory limits are increased, calculate concurrent consumption. Ten sessions each allocating a larger temporary or sort buffer can cost more than a single test query suggests. Watch disk I/O, memory pressure, query latency and error logs during the test, and revert if the change merely moves waiting from disk to RAM without improving response time.

Connections and thread cache

Distinguish connection churn from genuine capacity demand. A high connection count may reflect a missing pool limit, short-lived application connections or a retry storm. Check connection creation rate, aborted connections, authentication failures, pool configuration and server thread-cache counters before raising maximum connections.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Increasing the maximum can prevent refusals but also multiplies memory and lock contention. A right-sized pool, sensible timeouts and removal of connection leaks often address the cause with less risk. Validate both peak concurrency and behavior during an application outage, when retries can create a connection storm.

Tables, indexes and OPTIMIZE findings

Configuration cannot repair an inefficient query or a missing index. Verify table and index statistics, cardinality, fragmentation, storage engine and access patterns. Some maintenance operations lock tables, consume substantial I/O or create replication lag; schedule them only after checking engine-specific behavior and an appropriate maintenance window.

Use a plan inspection and measured query timings to prove that an index or schema change helps. Capture the before-and-after rows examined, execution time and write overhead. An index that speeds one read can increase insert, update and storage costs for every write.

Slow queries and query-plan warnings

Start with the slow-query log and application traces. Rank statements by total time as well as average time, because a moderately slow query executed thousands of times can dominate the workload. Inspect predicates, joins, sort operations, rows examined and plan stability. Test representative parameter values; a plan that is fast for one tenant or date range may be poor for another.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

When the evidence points to SQL or schema work, fix that first or in parallel with configuration testing. Record query text fingerprints, plan output and response-time percentiles so a server-variable change is not credited for an improvement caused by an unrelated deployment.

Replication, version and security notices

Handle these findings as operational workstreams rather than performance tweaks. Check replica lag, relay and binary-log health, failover procedures and the order in which primary and replicas can be changed. A setting that improves local throughput may increase lag or make recovery harder.

For version and security warnings, prioritize supported releases, least privilege, encrypted connections where required and credential hygiene. Do not defer a security fix because a performance ratio looks favorable, and do not treat a security warning as evidence that a buffer should change.

Apply changes as controlled experiments

  1. Choose one hypothesis. State the measured bottleneck and the expected effect, such as fewer temporary-table spills or lower read latency.
  2. Check the exact variable. Confirm scope, units, valid range, dynamic behavior, persistence method and restart requirement in the manual for the running release.
  3. Calculate capacity first. Include global memory, per-session memory, maximum realistic concurrency, replication threads, backup processes and the operating system.
  4. Test in staging. Use a production-like schema, data distribution and workload. Include peak concurrency and write activity when those are relevant.
  5. Prepare production rollback. Save the old value, configuration diff, change owner, start time, monitoring links and the precise reversal command or edit.
  6. Make one coherent, narrow change. Do not paste the entire recommendation block into my.cnf. Some lines are informational, some call for SQL or index work, and others identify a capacity or environment issue.
  7. Observe the agreed window. Watch response-time percentiles, throughput, errors, lock waits, temporary-table behavior, buffer-pool indicators, CPU, memory, disk latency and replication lag.
  8. Keep or revert by evidence. Retain the change only when the target workload improves without unacceptable resource or reliability regressions.

If several related variables must change together to test one hypothesis, document them as a single change set and make the rollback atomic. Otherwise, changing multiple unrelated values prevents you from knowing which one helped or harmed the system.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Measure the result and rerun at the right time

Define success before the change. For a latency problem, compare p50, p95 and p99 response times under comparable traffic. For throughput, compare completed transactions or requests per second. For reliability, compare errors, lock waits, aborted connections, out-of-memory events and replica lag. For resource impact, compare CPU, resident memory, swap, disk latency, I/O volume and buffer or temporary-table behavior.

Use the same observation window and account for deployments, traffic changes, cache warming and batch jobs. A one-minute improvement immediately after a restart is not equivalent to a full busy-day result. Keep the raw metrics, the configuration diff and the report together in the change record.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

After the server has again accumulated representative uptime, rerun MySQLTuner and compare the new report with the baseline. Treat the second report as another set of signals, not as an automated approval. Continuous monitoring and query-level evidence remain necessary between runs.

Common mistakes and recovery paths

Running immediately after a restart

Symptom: Extreme ratios, empty logs or recommendations based on almost no workload. Recovery: Record the run as a startup snapshot, wait through at least a normal 24-hour cycle, then run again before sizing anything.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Trusting a percentage without its denominator

Symptom: A high or low ratio leads to a large buffer change, but user latency does not improve. Recovery: Identify the counters, reset time and sample size; correlate the ratio with actual waits, I/O and query response time.

Increasing every memory setting

Symptom: Swapping, sudden connection failures or an out-of-memory kill after peak traffic. Recovery: Revert the latest values, restore safe concurrency, inspect the memory budget and test each allocation class separately.

Changing a restart-required variable during a busy period

Symptom: No effect, an unexpected restart or an extended outage. Recovery: Verify dynamic behavior in the exact release, schedule a maintenance window and document persistence and rollback before trying again.

Using a restricted account and assuming all checks ran

Symptom: Missing schema, process or replication sections. Recovery: Review the privilege requirements, grant narrowly scoped read privileges if approved, or label the report as partial and fill the gaps with independent monitoring.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Fixing a query problem with a server variable

Symptom: More memory or CPU use with no durable latency improvement. Recovery: Inspect the slow-query log, execution plan, indexes, rows examined and data distribution; address the SQL or schema cause.

A practical decision checklist

  • The server has at least 24 hours of representative uptime, or the report explicitly covers a complete normal workload cycle.
  • The report, configuration snapshot, version and baseline metrics are saved.
  • The triggering symptom and its counters are understood.
  • The exact release manual confirms the variable, range, scope and persistence behavior.
  • Worst-case memory at realistic concurrency fits within host capacity without swapping.
  • Query, schema, storage and application causes have been checked.
  • A staging or canary test, success metric and rollback plan exist.
  • Only one related change set will be applied at a time.
  • Latency, throughput, errors, resource use and replication health will be watched after the change.
  • The result will be kept or reverted based on measured evidence, followed by a later MySQLTuner run.

Used this way, MySQLTuner is a triage and verification aid: it helps you decide where to look, while version-aware testing and workload measurements decide what to change.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.