Please enter a valid email address. The download links will be emailed to you.
The download links for
MONyog have been sent to
Back to Topics

MySQL Privileges

MySQL Privileges

Whether you're running a single MySQL database server or multiple servers in a cluster, Monyog provides a comprehensive list of performance variables that you can monitor in real-time to check the health and performance of your MySQL server or servers.

In order to access the data for these metrics, Monyog requires a dedicated user on each MySQL database server it monitors, with the appropriate privileges to collect the information it needs.


Most Monyog functionalities don't require any privileges at all for the user it uses in establishing client connections with MySQL. You can create it without any special global or object privileges, using the following command:

TO 'user'@'host';

Fully enabling all Monyog functionality requires that you grant the user some additional privileges, ensuring that it can access all the data it needs.


For an example of granting full functionality to the Monyog user, see Database Configuration <db-config> below.

Security Counters

Monyog user requires SELECT privileges to the mysql.user table to enable Monyog security counters.

Additionally, if the server was started with the skip_show_databases configuration variable, you must also explicitly grant the SHOW DATABASES privilege.

Replication Counters

In order to collect replication metrics from a slave, the MySQL user on the slave requires the REPLICATION_CLIENT privilege. You can also enable this functionality using the SUPER privilege.

When registering MySQL servers with Monyog, there is an option Is this a Replication Slave? to include replication information. You must set this to Yes, when registering the server. It defaults to No. When set to No, Monyog ignores replication data.

When testing the connection from the server registration page, Monyog displays the error message:

Access denied.  You need the SUPER/REPLICATION CLIENT 
privilege for retrieving REPLICATION details!

You can ignore this error if the given MySQL server is not a replication slave or if you don't want to monitor replication.

InnoDB Deadlock Monitoring

Depending on the MySQL server version, the SUPER or PROCESS privileges allow you to monitor for deadlocks with the InnoDB storage engine.


Beginning in the 5.1.24 version of MySQL, you can enable this feature using PROCESS. Older versions requier SUPER.

Processlist Feature

In order to collect data on the MySQL server processes for all users, you must enable the PROCESS privilege. Additionally, when granted the SUPER privilege, you can use Monyog to kill running processes.

In order to use the EXPLAIN option on the processlist, you need to grant SELECT and SHOW VIEW to the objects accessed by the statements you want to explain, or, more simply, grant the global SELECT privilege.


Monyog displays N/A on counters where the user lacks the required privileges and logs a record of the MySQL server error for every attempt to retrieve those counters from the server. Be aware the log may grow considerably if this is the case.

Performance Schema-based Sniffer

Collecting data on the Performance schema requires SELECT, DROP and UPDATE privileges.

Monyog uses the SELECT privilege to read the Performance Schema tables. The DROP privilege allows it to truncate these tables. The UPDATE privilege enables the statement digest and statement history log in the performance schema tables.

Log Retrieval

In order to retrieve log information when stored in a table, (which is supported in version 5.1 and newer of MySQL), the Monyog user requires the SELECT privilege on the log tables.

Flush Status

In order to execute FLUSH STATUS commands, the Monyog user also requires the RELOAD privilege.