To monitor MySQL with Database Visibility, you must run MySQL >= 5.7.

Connection Details

Create New CollectorDatabase TypeThe database type that you want to monitor.
AgentThe Database Agent that manages the collector.
Collector NameThe name you want to identify the collector by.
Connection DetailsHostname or IP AddressThe hostname or IP address of the machine that your database is running on.
Listener PortThe TCP/IP address of the port on which your database communicates with the Database Agent
Custom JDBC Connection StringThe JDBC connection string generated by the database agent, for example, jdbc:mysql://. You can also specify a custom connection string, which is useful for setting custom authentication options.
Username and PasswordUsernameThe name of the user who is connecting to and monitoring the database through the Database Agent. The user should have the permissions described in User Permissions for MySQL.
PasswordThe password of the user who is connecting to and monitoring the database through the Database Agent.
CyberArkClick to enable CyberArk for database username and password. When CyberArk is enabled, information about Application, Safe, Folder, and Object is required to fetch the username and password for your database. To use CyberArk with Database Visibility, you must download the JavaPasswordSDK.jar file from the CyberArk web site and rename the file to cyberark-sdk-9.5.jar. Then, you must copy the JAR file to the lib directory of the database agent zip file. 
Advanced OptionsSub-Collectors

Click to monitor multiple database instances in a consolidated view, and aggregate metrics of multiple databases. To monitor a custom cluster, you can add the additional hostname or IP address, and port details for each sub-collector. You can add up to a total of 29 sub-collectors. Thereby, 30 databases can be monitored in a custom cluster. In addition to the licenses consumed by the main collector, each sub-collector consumes one or more licenses, depending on the database type.


  • All connection parameters other than the hostname or IP address, and port details of the sub-collector are the same as the main collector. If you want to specify different parameters for the sub–collectors, while creating or editing the collector configuration, you can do that only via the Create Collector API.

  • You cannot convert a custom cluster collector to a standalone collector. If you want to monitor a standalone database, delete the entire custom cluster collector and create a fresh standalone collector. However, note that deleting the custom cluster collector will delete all its historical data.
Connection PropertiesClick to add a new JDBC connection property or edit an existing property for relational databases.
Exclude DatabasesThe databases that you want to exclude, separated by commas. 
Monitor Operating SystemSee Configure the Database Agent to Monitor Server Hardware.

User Permissions for MySQL

The MySQL user the Database Agent uses to monitor the MySQL database must have "SELECT", "PROCESS", and "SHOW DATABASES" privileges on all databases.

The user must also have the "REPLICATION CLIENT" privilege to collect these metrics:

  • Slave_io_running
  • Slave_sql_running
  • Seconds_behind_master
  • SQL_Delay

If you do not have a suitable existing user, you can use the command below to create a new user. 

CREATE USER 'DBMon_Agent_User'@'host' identified by 'password';
GRANT SELECT,PROCESS,SHOW DATABASES on *.* to 'DBMon_Agent_User'@'host' identified by 'password';
GRANT REPLICATION CLIENT ON *.* to 'DBMon_Agent_User'@'host';
FLUSH privileges;

Substitute DBMon_Agent_User with the username under which you run the Database Visibility Agent. Substitute host with the hostname or IP address of the machine running the AppDynamics Database Agent, and substitute password with a secure password.

Set the max_allowed_packet parameter to 1073741824 on the server.