Page tree
Skip to end of metadata
Go to start of metadata

Pattern Goal

The goal of the Oracle MySQL Server Database Detail pattern is to obtain the list of Databases being managed by the MySQL Server, and to obtain (optionally, and disabled by default) the list of Tables within these databases.

Note

The patterns will not by default return the list of all tables within the discovered databases as this can have a marked impact on discovery of hosts with large database installations

The information is then stored within the Atrium Discovery Model as DatabaseDetail Nodes. In Atrium Discovery 8.3 and later, the DatabaseDetail node has additional attributes added which permit easy mapping by the CMDB sync mechanism to the BMC_Database CIs in Atrium CMDB.

Discovery by a Database Credential

Setup

Setting of Database Credentials

Setting the port

The option to set the default port no longer exists in the MySQL Database Detail pattern.
The MySQL Database Detail pattern behavior is now as follows:

  • If the core TKU MySQL Server Pattern discovers the listening port, this is the port that will be used
  • Alternatively, the MySQL Database Detail pattern will use the port that has been set in the database credentials by the user.
  • If no port was retrieved and port DB listening port was not set by the user, the MySQL Database Detail pattern will not attempt to perform database queries.
    The reason for this change is to minimize the number of configuration steps required and prevent errors due to forgotten changes in pattern configuration.

SQL Queries Executed

The pattern executes the following SQL Queries.

  • Obtaining a list of Databases being managed: SHOW DATABASES
  • Obtaining a list of tables within a database:SELECT table_name FROM information_schema.tables WHERE table_schema = %db_name%

The pattern only runs the latter query (and creates the table nodes) if the retrieve_tables configuration option is enabled

 

Discovery by File Query

Discovery by file query is only attempted if discovery by a database credential fails.

The pattern obtains a list of all subdirectories of the db_path.  If any of these subdirectories contains file "db.opt" that patterns assumes this corresponds to a database with the name of the subdirectory, and creates a DatabaseDetail node.

So, for example, if /opt/MySQL/data has a subdirectory "BigData" and file /opt/MySQL/data/BigData/db.opt exists then a DatabaseDetail node will be created with instance name "BigData"

We do not attempt to retrieve table information when we discover database information by a file query

 

2 Comments

  1. Is there any chance of an update for this pattern that will log into the database from the machine where it discovered the instance? This prevents having to poke holes in the firewall and allowing external database connections.

    1. I thought that's what we did.  Can you explain in greater detail why what we do currently doesn't work for you.