////
This file is generated! See scripts/docs_collector.py
////

[[metricbeat-module-mysql]]
== MySQL Module

This module periodically fetches metrics from https://www.mysql.com/[MySQL]
servers.

[float]
=== Module-Specific Configuration Notes

When configuring the `hosts` option, you must use a MySQL Data Source Name (DSN)
of the following format:

----
[username[:password]@][protocol[(address)]]/
----

You can also separately specify the username and password using the respective
configuration options. Usernames and passwords specified in the DSN take
precedence over those specified in the `username` and `password` config options.

----
- module: mysql
  metricsets: ["status"]
  hosts: ["tcp(127.0.0.1:3306)/"]
  username: root
  password: secret
----

[float]
=== Compatibility

The mysql MetricSets were tested with mysql 5.7.12 and are expected to work with
all versions >= 5.7.0.


[float]
=== Example Configuration

The MySQL module supports the standard configuration options that are described
in <<configuration-metricbeat>>. Here is an example configuration:

[source,yaml]
----
metricbeat.modules:
- module: mysql
  metricsets: ["status"]
  enabled: true
  period: 10s

  # Host DSN should be defined as "user:pass@tcp(127.0.0.1:3306)/"
  # The username and password can either be set in the DSN or using the username
  # and password config options. Those specified in the DSN take precedence.
  hosts: ["root:secret@tcp(127.0.0.1:3306)/"]
----

[float]
=== Metricsets

The following metricsets are available:

* <<metricbeat-metricset-mysql-status,status>>

include::mysql/status.asciidoc[]

