---
title: "MySQL configuration impact | Database Observability documentation"
description: "Understand how MySQL configuration commands affect Database Observability dashboards and panels."
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

# MySQL configuration impact

This reference explains how each MySQL configuration command affects the dashboards and panels in Database Observability. Use this information to understand why each permission, extension, and setting is needed and what breaks if a configuration is missing.

## Summary

The following table summarizes the impact of each configuration on Database Observability:

Expand table

| Configuration                 | Dashboards and panels affected | If missing                             |
|-------------------------------|--------------------------------|----------------------------------------|
| `Performance Schema` enabled  | All (Overview, Query Details)  | App non-functional                     |
| `UPDATE` on `setup_actors`    | Overview (noise reduction)     | Alloy queries visible, extra telemetry |
| `UPDATE` on `setup_consumers` | Samples tab, Wait Events tab   | No samples or wait event data          |

## Performance Schema

**Requirement:**

`Performance Schema` must be enabled for MySQL monitoring to work. This is typically enabled by default in modern MySQL versions.

**Dashboard impact:**

`Performance Schema` is the source of all query telemetry for MySQL. It powers:

- The entire **Overview Page**, including RED metrics (Rate, Errors, Duration)
- Query text display
- Query metrics
- The **Query Details** page

**If disabled:**

The Database Observability app is non-functional. No query data is collected or displayed.

## Grant `setup_actors`

**Command:**

SQL ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```sql
GRANT INSERT, UPDATE ON performance_schema.setup_actors TO 'db-o11y'@'%';
```

**Purpose:**

The `setup_actors` table stores settings about which database users generate data in `Performance Schema`. This grant allows Alloy to disable tracking of its own monitoring queries.

**Dashboard impact:**

With this grant and the Alloy settings `allow_update_performance_schema_settings` and `setup_actors.auto_update_setup_actors` enabled:

- Alloy monitoring queries don’t appear in the Overview page
- All panels in the Overview show only application queries

**If missing:**

Alloy monitoring queries appear in dashboards, creating noise and increasing telemetry volume.

### Configuration options

You have two options to disable tracking for the monitoring user:

**Option 1: Manual configuration by DBA**

Run this SQL command directly:

SQL ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```sql
UPDATE performance_schema.setup_actors
SET ENABLED = 'NO', HISTORY = 'NO'
WHERE USER = 'db-o11y';
```

With this approach, you don’t need to grant `UPDATE` on `setup_actors` to the monitoring user.

**Option 2: Automatic configuration by Alloy (recommended)**

1. Grant the `UPDATE` permission:
   
   SQL ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy
   
   ```sql
   GRANT INSERT, UPDATE ON performance_schema.setup_actors TO 'db-o11y'@'%';
   ```
2. Enable the Alloy settings `allow_update_performance_schema_settings` and `setup_actors.auto_update_setup_actors` in your Alloy configuration.

With this approach, Alloy automatically disables tracking for its own user and periodically verifies the setting remains disabled.

> Note
> 
> The automatic approach is recommended for environments with many databases because you don’t need to log into each database to configure the setting.

## Grant `setup_consumers`

**Command:**

SQL ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```sql
GRANT UPDATE ON performance_schema.setup_consumers TO 'db-o11y'@'%';
```

**Purpose:**

The `setup_consumers` table stores settings about which specific wait events are tracked in `Performance Schema`. This grant allows Alloy to enable the consumers required for query samples and wait events.

**Dashboard impact:**

This configuration affects the following features in the Query Details page:

- **Samples tab**: Shows individual query execution samples
- **Wait Events tab**: Shows wait event analysis for queries

**If missing:**

The Samples tab and Wait Events tab in the Query Details page show no data.

### Configuration options

You have two options to enable the required consumers:

**Option 1: Manual configuration by DBA**

Run this SQL command directly:

SQL ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```sql
UPDATE performance_schema.setup_consumers
SET ENABLED = 'YES'
WHERE NAME IN (
  'events_statements_cpu',
  'events_waits_current',
  'events_waits_history'
);
```

With this approach, you don’t need to grant `UPDATE` on `setup_consumers` to the monitoring user.

**Option 2: Automatic configuration by Alloy (recommended)**

1. Grant the `UPDATE` permission:
   
   SQL ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy
   
   ```sql
   GRANT UPDATE ON performance_schema.setup_consumers TO 'db-o11y'@'%';
   ```
2. Enable the Alloy setting that automatically configures consumers in your Alloy configuration.

With this approach, Alloy periodically checks that the required consumers are enabled and turns them on automatically if needed.

> Warning
> 
> The `setup_consumers` settings are **volatile**. They reset to their default values when the database restarts. For this reason, the automatic approach is strongly recommended because Alloy re-enables the consumers after each restart.

### Required consumers

Alloy enables the following consumers for full functionality:

Expand table

| Consumer                | Purpose                             |
|-------------------------|-------------------------------------|
| `events_statements_cpu` | CPU time tracking for query samples |
| `events_waits_current`  | Current wait event tracking         |
| `events_waits_history`  | Historical wait event data          |

## Related documentation

- [Set up MySQL](/docs/grafana-cloud/monitor-applications/database-observability/set-up/mysql/): Complete setup instructions for MySQL monitoring
- [Troubleshoot MySQL](/docs/grafana-cloud/monitor-applications/database-observability/troubleshoot/mysql/): Validate MySQL configuration
