Getting Server Metadata

Problem

You want to the MySQL server to tell you about itself.

Solution

Several SELECT and SHOW statements return information about the server.

Discussion

MySQL offers several SQL statements that provide you with information about the server itself and about your current client connection. A few that you may find useful are listed here. To obtain the information provided by any of them, issue the query, then process the result set to retrieve the query output. Both SHOW statements allow a LIKE 'pattern' clause for limiting the results only to those rows matching the pattern.

Statement

Information produced by statement

SELECT VERSION( )

Server version string

SELECT DATABASE( )

Current database name (empty if none)

SELECT USER( )

Current username

SHOW STATUS

Server status indicators

SHOW VARIABLES

Server configuration variables

These queries are all MySQL-specific. If you’re working in Java, JDBC provides several database-independent methods for obtaining server metadata, some of which provide the same information as some of the preceding statements. Use your connection object to obtain the database metadata, then invoke the appropriate methods to get the information in which you’re interested. You should consult a JDBC reference for a complete list, but here are a few representative examples:

DatabaseMetaData md = conn.getMetaData ( ); // can also get this with SELECT VERSION( ) System.out.println ("Product version: " + md.getDatabaseProductVersion ...

Get MySQL Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.